usermod é um utilitário de linha de comando que lhe permite modificar a informação de login de um utilizador.

Este artigo cobre como usar o comando usermod para adicionar um utilizador a um grupo, alterar uma shell de utilizador, nome de login, directório home, e muito mais.

comando usermod #

A sintaxe do comando usermod toma a seguinte forma:

usermod USER

Apenas root ou usuários com sudoacesso pode invocar usermod e modificar uma conta de usuário. No caso de sucesso, o comando não exibe nenhuma saída.

Adicionar um usuário a um grupo #

O caso mais típico de uso do usermod é adicionar um usuário a um grupo.

Para adicionar um usuário existente a um grupo secundário, use as opções -a -G seguidas do nome do grupo e do nome do usuário:

usermod -a -G GROUP USER

Se você quiser adicionar o usuário a vários grupos ao mesmo tempo, especifique os grupos após a opção -G separada com , (vírgulas) sem espaço em branco interveniente.

Por exemplo, para adicionar o usuário linuxize ao grupo games, você executaria o seguinte comando:

sudo usermod -a -G games linuxize

Utiliza sempre a opção -a (anexar) ao adicionar um usuário a um novo grupo. Se você omitir a opção -a, o usuário será removido dos grupos não listados após a opção -G.

Se o usuário ou grupo não existir, o comando avisará você.

Mudar grupo primário do usuário #

Para mudar o grupo primário de um usuário, invoque o comando usermod com a opção -g seguida do nome do grupo e do nome do usuário:

sudo usermod -g GROUP USER

No exemplo seguinte, estamos mudando o grupo primário do usuário linuxize para developers:

usermod -g developers linuxize

Cada usuário pode pertencer exatamente a um grupo primário e zero ou mais grupos secundários.

Mudando a Informação do Usuário #

Para mudar a informação do GECOS (o nome completo do usuário), execute o comando com a opção -c seguida do novo comentário e nome de usuário:

usermod -c "GECOS Comment" USER

Aqui está um exemplo mostrando como adicionar informação adicional ao usuário linuxize:

usermod -c "Test User" linuxize

Esta informação é armazenada no arquivo /etc/passwd.

Mudando um diretório home do usuário #

Na maioria dos sistemas Linux, os diretórios home do usuário são nomeados com o nome do usuário e criados sob o diretório /home.

Se, por algum motivo, você quiser mudar o diretório home do usuário, invoque o comando usermod com a opção -d seguindo o caminho absoluto do novo diretório home e o nome do usuário:

usermod -d HOME_DIR USER

Por padrão, o comando não move o conteúdo do diretório home do usuário para o novo diretório. Para mover o conteúdo, use a opção -m. Se o novo diretório ainda não existir, ele é criado:

usermod -d HOME_DIR -m USER

Aqui está um exemplo mostrando como alterar o diretório home do usuário www-data para /var/www:

usermod -d /var/www www-data

Mudando um Shell padrão do usuário #

O shell padrão é o shell que é executado depois que você faz o login no sistema. Por padrão, na maioria dos sistemas Linux, a shell padrão é definida como Bash Shell.

Para alterar a shell padrão do usuário, execute o comando com a opção -s seguindo o caminho absoluto da shell e o nome do usuário:

usermod -s SHELL USER

No exemplo abaixo, estamos alterando a shell do usuário para Zsh:

sudo usermod -s /usr/bin/zsh linuxize

Você pode descobrir quais shells estão disponíveis no seu sistema exibindo o conteúdo do arquivo /etc/shells.

Mudando um UID de usuário #

UID (o identificador de usuário) é um número atribuído a cada usuário. É usado pelo sistema operacional para se referir a um usuário.

Para alterar o UID do usuário, invoque o comando com a opção -u seguido do novo UID e o nome do usuário:

usermod -u UID USER

O exemplo abaixo mostra como alterar o número do “UID” para “1050”:

sudo usermod -u 1050 linuxize

O UID dos arquivos de propriedade do usuário e estão localizados no diretório home do usuário, e o arquivo da caixa postal do usuário será alterado automaticamente. A propriedade de todos os outros arquivos deve ser alterada manualmente.

Mudando um nome de usuário #

Embora não seja muito frequente, às vezes você pode querer mudar o nome de um usuário existente. A opção -l é usada para mudar o nome do usuário:

usermod -l NEW_USER USER

No exemplo abaixo, estamos renomeando o usuário linuxize para lisa para “1050”:

sudo usermod -l linuxize lisa

Quando mudar o nome do usuário, você também pode querer mudar o diretório home do usuário para refletir o novo nome de usuário.

Definindo uma data de expiração do usuário #

A data de expiração é a data na qual a conta do usuário será desativada. Para definir a data de expiração do usuário, use a opção -e opção:

sudo usermod -e DATE USER

A data de expiração deve ser definida usando o formato YYYY-MM-DD.

Por exemplo, para desabilitar o usuário linuxize em 2022-02-21, você executaria o seguinte comando:

sudo usermod -e "2022-02-21" linuxize

Para desabilitar o vencimento de uma conta, defina uma data de vencimento vazia:

sudo usermod -e "" linuxize

Utilize o comando chage -l para visualizar a data de vencimento do usuário:

sudo chage -l linuxize
Last password change: Jul 24, 2018Password expires: neverPassword inactive: neverAccount expires: neverMinimum number of days between password change: 0Maximum number of days between password change: 99999Number of days of warning before password expires: 7

A data de vencimento é armazenada no arquivo /etc/shadow.

Bloquear e Desbloquear uma Conta de Utilizador#

A opção -L permite bloquear uma conta de utilizador:

usermod -L USER

Os comandos irão inserir um ponto de exclamação (!) na frente da palavra-passe encriptada. Quando o campo da senha no arquivo /etc/shadow contém um ponto de exclamação, o usuário não será capaz de entrar no sistema usando autenticação de senha. Outros métodos de login, como autenticação baseada em chave ou mudança para o usuário, ainda são permitidos. Se você quiser bloquear a conta e desativar todos os métodos de login, você também precisa definir a data de expiração para 1.

Os exemplos a seguir mostram como bloquear o usuário linuxize:

sudo usermod -L linuxize
sudo usermod -L -e 1 linuxize

Para desbloquear um usuário, execute usermod com a opção -U>

usermod -U USER

Conclusion #

Mostramos a você como usar o comando usermod para definir as informações da conta do usuário.

Deixe uma resposta

O seu endereço de email não será publicado.