Recurso nxUser de DSC para LinuxDSC for Linux nxUser Resource

O recurso nxUser na Configuração de Estado Desejado (DSC) do PowerShell fornece um mecanismo para gerenciar usuários locais em um nó do Linux.The nxUser resource in PowerShell Desired State Configuration (DSC) provides a mechanism to to manage local users on a Linux node.

SintaxeSyntax

nxUser <string> #ResourceName
{
    UserName = <string>
    [ Ensure = <string> { Absent | Present }  ]
    [ FullName = <string> ]
    [ Description = <string> ]
    [ Password = <string> ]
    [ Disabled = <bool> ]
    [ PasswordChangeRequired = <bool> ]
    [ HomeDirectory = <string> ]
    [ GroupID = <string> ]
    [ DependsOn = <string[]> ]

}

PropriedadesProperties

PropriedadeProperty Indica o nome da conta para a qual você deseja garantir um estado específico.Indicates the account name for which you want to ensure a specific state.
UserNameUserName Especifica o local onde você deseja garantir o estado de um arquivo ou diretório.Specifies the location where you want to ensure the state for a file or directory.
EnsureEnsure Especifica se a conta existe.Specifies whether the account exists. Defina essa propriedade como "Present" para garantir que a conta exista e defina-o como "Absent" para garantir que a conta não exista.Set this property to "Present" to ensure that the account exists, and set it to "Absent" to ensure that the account does not exist.
FullNameFullName Uma cadeia de caracteres que contém o nome completo que deve ser usado para a conta de usuário.A string that contains the full name to use for the user account.
DescriçãoDescription A descrição da conta de usuário.The description for the user account.
SenhaPassword O hash da senha de usuário no formato apropriado para o computador Linux.The hash of the users password in the appropriate form for the Linux computer. Normalmente, é um hash SHA-256 ou SHA-512 com valor de sal.Typically, this is a salted SHA-256, or SHA-512 hash. No Debian e no Ubuntu Linux, esse valor pode ser gerado com o comando mkpasswd.On Debian and Ubuntu Linux, this value can be generated with the mkpasswd command. Para outras distribuições de Linux, o método de criptografia da biblioteca de Criptografia do Python pode ser usado para gerar o hash.For other Linux distros, the crypt method of Python’s Crypt library can be used to generate the hash.
DesabilitadoDisabled Indica se a conta está habilitada.Indicates whether the account is enabled. Defina essa propriedade como $true para garantir que essa conta esteja desabilitada e defina-a como $false para garantir que esteja habilitada.Set this property to $true to ensure that this account is disabled, and set it to $false to ensure that it is enabled.
PasswordChangeRequiredPasswordChangeRequired Indica se o usuário pode alterar a senha.Indicates whether the user can change the password. Defina essa propriedade como $true para garantir que o usuário não possa alterar a senha e defina-a como $false para permitir que o usuário altere a senha.Set this property to $true to ensure that the user cannot change the password, and set it to $false to allow the user to change the password. O valor padrão é $false.The default value is $false. Essa propriedade é avaliada apenas se a conta de usuário não existia anteriormente e está sendo criada.This property is only evaluated if the user account did not exist previously and is being created.
HomeDirectoryHomeDirectory O diretório inicial do usuário.The home directory for the user.
GroupIDGroupID A ID primária de grupo do usuário.The primary group ID for the user.
DependsOnDependsOn Indica que a configuração de outro recurso deve ser executada antes de ele ser configurado.Indicates that the configuration of another resource must run before this resource is configured. Por exemplo, se a ID do bloco de script de configuração do recurso que você deseja executar primeiro for "ResourceName" e seu tipo for "ResourceType", a sintaxe para usar essa propriedade será DependsOn = "[ResourceType]ResourceName".For example, if the ID of the resource configuration script block that you want to run first is "ResourceName" and its type is "ResourceType", the syntax for using this property is DependsOn = "[ResourceType]ResourceName".

ExemploExample

O exemplo a seguir garante que o usuário "monuser" exista e seja membro do grupo "DBusers".The following example ensures that the user "monuser" exists and is a member of the group "DBusers".

Import-DSCResource -Module nx 

Node $node {
nxUser UserExample{
   UserName = "monuser"
   Description = "Monitoring user"
   Password  =    '$6$fZAne/Qc$MZejMrOxDK0ogv9SLiBP5J5qZFBvXLnDu8HY1Oy7ycX.Y3C7mGPUfeQy3A82ev3zIabhDQnj2ayeuGn02CqE/0'
   Ensure = "Present"
   HomeDirectory = "/home/monuser"
}

nxGroup GroupExample{
   GroupName = "DBusers"
   Ensure = "Present"
   MembersToInclude = "monuser"
   DependsOn = "[nxUser]UserExample"            
}
}