Como usar o comando Usermod no Linux

Um guia detalhado sobre os usos do comando usermod nos sistemas Linux com vários exemplos

O usermod command é o comando mais robusto de todos os utilitários de modificação de conta de usuário fornecidos por sistemas Linux. Ele fornece um espaço para o usuário fazer quaisquer modificações nas contas de usuário existentes.

Usermod ajuda a mudar as propriedades de usuários existentes em um sistema Linux. Essas propriedades podem incluir parâmetros como senha, nome de login, diretório de login, data de expiração, alteração de ID de usuário e muitos mais.

Gerenciar todos os detalhes da conta do usuário a partir da linha de comando é uma tarefa bastante fácil, mas nem todo mundo conhece os comandos para fazer isso. Vamos guiá-lo por todos os cenários possíveis com usermod no ambiente Linux.

Observação: Executar usermod comando você precisa ser um usuário root ou você precisa ter sudo Acesso.

Arquivos com detalhes do usuário

Como você está prestes a usar usermod comando, é muito importante para você saber os arquivos com os quais você pode precisar para trabalhar. Esses arquivos contêm todas as informações relacionadas às contas de usuário presentes no sistema.

ArquivoDescrição
/ etc / passwdContém várias informações sobre o usuário
/ etc / groupContém informações sobre cada grupo usado no sistema
/ etc / gshadowContém informações seguras da conta do grupo
/etc/login.defsDefine a configuração específica do site para o conjunto de senhas shadow.
/ etc / shadowContém a senha criptografada, bem como outras informações, como valores de expiração de conta ou senha

Sintaxe básica do comando Usermod

A sintaxe a ser usada usermod comando é bastante básico por natureza. O importante é saber as opções com as quais este comando deve ser executado.

Sintaxe:

usermod [opções] nome de usuário 

Opções:

OpçõesUso
-euAlterar o nome do usuário
-dModifique o diretório inicial da conta de usuário existente
-EUBloqueie a conta do usuário desativando a senha
-VOCÊDesbloquear o bloqueio de senha
-mMova o conteúdo do diretório inicial existente do usuário para qualquer novo local de diretório
-vocêAlterar o ID de usuário do usuário existente
-gMudar o grupo do usuário
-GUma lista de grupos suplementares dos quais o usuário também é membro.
-sCriar shell para novas contas
-eAltera a data de expiração da conta do usuário

Aplicações do Comando Usermod

Conforme indicado na tabela acima, usermod comando é usado com diferentes opções para manipular os atributos relacionados às informações da conta do usuário.

Siga os exemplos fornecidos abaixo para usar o usermod comando para suas tarefas envolvendo conta de usuário e a manipulação de seus atributos.

Mudando o nome de usuário

O nome do usuário é uma escolha pessoal e pode ser alterado sempre que o usuário desejar. Você pode alterar o nome de login do usuário dos usuários existentes nos sistemas Linux por meio da linha de comando, bem como a GUI em Configurações. Você pode seguir os comandos fornecidos abaixo para fazer isso por meio da linha de comando usando o usermod comando.

Sintaxe:

usermod -l [novo nome de usuário] [nome de usuário existente]

Exemplo:

sudo usermod -l batman temporário

Saída:

Você pode confirmar a alteração do nome de usuário executando o id [usuário] comando comando.

gaurav @ ubuntu: ~ $ id batman uid = 1002 (batman) gid = 1002 (temporário) grupos = 1002 (temporário) gaurav @ ubuntu: ~ $ id id temporário: ‘temporário’: nenhum usuário gaurav @ ubuntu: ~ $

Na saída acima, está claro que o nome de usuário ‘temporário’ foi alterado para o novo nome de usuário ‘batman’.

Alterar o grupo principal de um usuário existente

No ecossistema Linux, a coleção de usuários do sistema de computador é chamada de ‘Grupo’. O principal objetivo de ter ‘Grupos’ é definir certos privilégios (Ler, Gravar, Executar) com relação aos recursos compartilhados dentro dos usuários do grupo. Normalmente, o grupo principal de um usuário tem o mesmo nome do nome de usuário.

Com usermod, você pode alterar o grupo primário de um usuário e adicionar o usuário a outro grupo.

Você pode verificar os grupos em seu sistema usando o grupos comando.

gaurav @ ubuntu: ~ $ grupos gaurav adm cdrom sudo dip plugdev lpadmin sambashare gaurav @ ubuntu: ~ $

Para alterar o grupo primário de um usuário, você precisará do nome do grupo do grupo primário ao qual o usuário está adicionado no momento. Use o id [nome de usuário] comando para obter o nome do grupo e id do grupo do grupo primário atual do usuário.

gaurav @ ubuntu: ~ $ id batman uid = 1000 (batman) gid = 1000 (batman) grupos = 1000 (batman), 128 (sambashare), 4 (adm), 24 (cdrom), 27 (sudo) gaurav @ ubuntu: ~ $ 

Aqui, o grupo principal é ‘homem Morcego‘. Agora, use o usermod comando para alterar o grupo primário do usuário. Estou mudando o grupo principal do usuário para ‘sambashare’. Verifique o seguinte comando.

Sintaxe:

sudo usermod -g [nome do grupo] [nome do usuário]

Exemplo:

 sudo usermod -g sambashare batman

Saída:

gaurav @ ubuntu: ~ $ sudo usermod -g sambashare batman gaurav @ ubuntu: ~ $ id batman uid = 1000 (batman) gid = 128 (sambashare) grupos = 128 (sambashare), 1000 (batman), 4 (adm), 24 (cdrom), 27 (sudo) gaurav @ ubuntu: ~ $ 

Usando a operação acima, o grupo primário do usuário batman agora é alterado para 'sambashare'.

Adicionando Novo Grupo a um Usuário Existente

A conta do usuário pode pertencer a mais de um grupo no sistema Linux. Cada usuário tem um grupo primário. E o Linux também permite adicionar grupos secundários aos usuários.

Synatx:

sudo usermod -G [novo grupo] [nome de usuário]

Exemplo:

sudo usermod -G dip batman

Saída:

gaurav @ ubuntu: ~ $ sudo usermod -G dip batman gaurav @ ubuntu: ~ $ id batman uid = 1000 (batman) gid = 128 (sambashare) grupos = 128 (sambashare), 30 (dip) gaurav @ ubuntu: ~ $ 

Aqui, um novo grupo denominado ‘dip’ é adicionado ao usuário ‘batman’.

Observação: Para adicionar o novo grupo como um "Grupo Secundário", você deve usar -uma parâmetro.

-uma meios acrescentar. Usando -uma antes de -G irá adicionar o grupo como um ‘Grupo secundário’ sem alterar o ‘Grupo principal’ do usuário.

Use o seguinte comando para manter o grupo primário do usuário inalterado.

sudo usermod -a -G [grupo a ser adicionado] [usuário]

Alterando o diretório inicial do usuário

Quando você efetua login em seu sistema, sua sessão começa em seu diretório inicial, que é exclusivo para sua conta de usuário. O sistema atribui este diretório exclusivo quando a conta do usuário é criada. O Linux oferece a opção de alterar o seu ‘Diretório pessoal’. Na maioria das vezes, o nome do ‘Diretório inicial’ é igual ao nome de usuário e é colocado sob o /casa diretório.

Use o seguinte comando para alterar o ‘Diretório inicial’ do usuário.

Sintaxe:

sudo usermod -d [new_directory_path] [username]

Para verificar se o diretório pessoal mudou, use o grep comando. Eu exibi informações sobre o usuário ‘batman’ do / etc / passwd Arquivo.

gaurav @ ubuntu: ~ $ sudo usermod -d / var / hpq / batman gaurav @ ubuntu: ~ $ grep 'var / hpq /' / etc / passwd batman: x: 1001: 4 :: / var / hpq /: / bin / false gaurav @ ubuntu: ~ $

Observação: Para mover o conteúdo do antigo diretório pessoal para o novo diretório, você deve usar -m. Use a sintaxe conforme mostrado abaixo.

sudo usermod -m -d [new_directory_path] [username]

Alterando o Uid (Identificador de Usuário) de um Usuário

Uid (identificador de usuário) é o valor numérico exclusivo atribuído a cada usuário pelo Linux. O sistema identifica o usuário com um único uid atribuído a ele. UID zero é atribuído ao usuário root.

Você pode alterar o UID de um usuário usando o comando abaixo.

Sintaxe:

sudo usermod -u [new_UID] usuário

Exemplo:

Verificando o uid atual para o usuário batman usando o id [usuário] comando.

gaurav @ ubuntu: ~ $ id batman uid = 1000 (batman) gid = 4 (adm) grupos = 4 (adm), 30 (dip)

O uid do batman agora é 1000. Vamos mudá-lo para 536 usando o usermod-você comando.

gaurav @ ubuntu: ~ $ sudo usermod -u 536 batman [sudo] senha para gaurav: gaurav @ ubuntu: ~ $

Agora, vamos verificar novamente o uid do usuário batman usando o id [usuário] comando

gaurav @ ubuntu: ~ $ id batman uid = 536 (batman) gid = 4 (adm) grupos = 4 (adm), 30 (dip) gaurav @ ubuntu: ~ $

Aqui podemos ver que o uid do usuário batman é alterado de 1000 para 536 usando o usermod -u comando.

Adicionando comentários pessoais com a conta do usuário

Vejamos um exemplo do usuário ‘batman’. Este usuário está trabalhando em um grande escritório e recentemente mudou seu número de telefone comercial e de mesa. Assim, ele pode adicionar esses detalhes modificados à sua conta de usuário usando o usermod -c comando.

Sintaxe:

sudo usermod -c "Seu comentário" Usuário 

Saída:

gaurav @ ubuntu: ~ $ sudo usermod -c "Tony Stark, 405, 95985475" batman gaurav @ ubuntu: ~ $ sudo grep 'batman' / etc / passwd batman: x: 536: 4: Tony Stark, 405, 95985475: / var / hpq /: / bin / false gaurav @ ubuntu: ~ $

As mudanças serão refletidas no / etc / passwd Arquivo.

Bloqueando / desabilitando os usuários

Se você deseja restringir o acesso ao sistema para um determinado usuário, pode fazê-lo bloqueando a senha desse usuário específico. Portanto, mesmo que o usuário tente fazer o login com a senha, ele não terá acesso ao sistema. ! símbolo será adicionado na frente da senha criptografada do usuário no / etc / shadow arquivo, o que significa que a senha está desativada.

Sintaxe:

sudo usermod -L [usuário]

Saída:

gaurav @ ubuntu: ~ $ sudo usermod -L batman gaurav @ ubuntu: ~ $ sudo grep batman / etc / shadow batman:!: 17612: 0: 99999: 7 ::: gaurav @ ubuntu: ~ $

Desbloqueando / habilitando os usuários

Você pode desbloquear / habilitar facilmente a senha de um usuário que foi desabilitado anteriormente. Você pode verificar o / etc / shadow arquivo para a mudança. ! o símbolo será removido da senha criptografada do usuário.

Sintaxe:

sudo usermod -U [usuário]
gaurav @ ubuntu: ~ $ sudo usermod -U batman gaurav @ ubuntu: ~ $ sudo grep batman / etc / shadow batman: t: 18511: 0: 99999: 7 ::: gaurav @ ubuntu: ~ $

Mudando o shell do usuário

O shell GNU / Linux é um utilitário interativo especial. Ele fornece uma maneira para que os usuários iniciem programas, gerenciem arquivos no sistema de arquivos e gerenciem processos em execução no sistema Linux. O shell contém um conjunto de comandos internos que você usa para controlar coisas como copiar arquivos, mover arquivos, renomear arquivos, exibir os programas atualmente em execução no sistema e interromper os programas em execução no sistema.

Você pode alterar o usuário do shell usando usermod -s comando. Use a sintaxe fornecida a seguir.

Sintaxe:

sudo usermod -s / bin / sh [usuário]
gaurav @ ubuntu: ~ $ sudo usermod -s / bin / sh batman [sudo] senha para gaurav: gaurav @ ubuntu: ~ $ grep batman / etc / passwd batman: x: 536: 4: Esta é minha conta demo: / var / www /: / bin / sh

Você pode verificar a mudança usando grep comando conforme mostrado na saída acima.

Definir data de expiração do usuário

Se você deseja que uma determinada conta de usuário seja usada apenas por um período específico de tempo, você pode definir uma data de expiração para essa conta de usuário. A data de validade é colocada no formato de AAAA-MM-DD.

Sintaxe:

usermod -e [AAAA-MM-DD] [Usuário]

Para verificar a data de expiração atual da conta, use o chage -l [usuário] comando.

gaurav @ ubuntu: ~ $ sudo chage -l batman [sudo] senha para gaurav: Última mudança de senha: 06 de setembro de 2020 A senha expira: nunca Senha inativa: nunca Conta expira: nunca Número mínimo de dias entre a mudança de senha: 0 Número máximo de dias entre a alteração da senha: 99999 Número de dias de aviso antes que a senha expire: 7 gaurav @ ubuntu: ~ $ 

Na saída acima, podemos ver que atualmente a data de expiração do usuário batman não está definida. Agora vamos usar o modo de usuário comando para definir a data de expiração para o usuário batman.

Exemplo:

sudo usermod -e 2022-06-19 batman

Agora vamos verificar o status da data de expiração do usuário novamente usando o chage -l [usuário] comando.

gaurav @ ubuntu: ~ $ sudo chage -l batman [sudo] senha para gaurav: Última alteração de senha: 06 de setembro de 2020 A senha expira: nunca Senha inativa: nunca A conta expira: 19 de junho de 2022 Número mínimo de dias entre a alteração da senha: 0 Número máximo de dias entre a mudança de senha: 99999 Número de dias de aviso antes que a senha expire: 7 gaurav @ ubuntu: ~ $ 

Desta forma, definimos uma data de expiração para a conta de usuário ‘batman’ em 19 de junho de 2022.

Conclusão

Neste tutorial, vimos as aplicações do usermod comando para modificar os dados básicos da conta do usuário de uma forma abrangente. Sinta-se à vontade para entrar em contato conosco caso tenha perdido algo.

Confira nossos outros artigos abaixo para saber mais sobre tecnologia. Boa aprendizagem!