Gerenciando Usuários - Linux
Criando Usuários com o useradd
O comando useradd
sudo useradd [options] username
O argumento obrigatório é o nome do usuário a ser criado. Além disso, é possível passar várias opções, as mais importantes são:
: ignora a verificação de nomes inadequados.--badname
: define o diretório base-b, --base-dir BASE_DIR
para o diretório home da nova conta.BASE_DIR
: adiciona o comentário-c, --comment COMMENT
no campo GECOS da nova conta.COMMENT
: define-d, --home-dir HOME_DIR
como o diretório home da nova conta.HOME_DIR
: define a data de expiração (EXPIRE_DATE) da nova conta no formato AAAA-MM-DD ou como o número de dias desde 1 de janeiro de 1970. Use essa opção para desativar automaticamente a conta do usuário na data especificada.-e, --expiredate EXPIRE_DATE
: define o nome ou identificador do grupo principal da nova conta.-g, --gid
: define GROUPS como a lista de grupos adicionais da nova conta. Por padrão, o usuário torna-se membro apenas dos grupos listados no arquivo-G, --groups GROUPS
./etc/default/useradd
: cria o diretório home do usuário.-m, --create-home
: não cria um grupo com o mesmo nome do usuário.-N, --no-user-group
: permite criar usuários com UID repetidos (não exclusivos).-o, --non-unique
: define a senha criptografada da nova conta. Note que a senha deve estar previamente criptografada usando a função crypt(3). Devido à complexidade de configurar a senha dessa forma, geralmente usa-se o comando-p, --password PASSWORD
para definir a senha, que será abordado em um tema posterior.passwd
: cria uma conta de sistema.-r, --system
: define-s, --shell SHELL
como o shell de login da nova conta.SHELL
: define o identificador de usuário da nova conta.-u, --uid UID
: cria um grupo com o mesmo nome do usuário.-U, --user-group
Para criar um novo usuário com o nome superuser1
sudo useradd superuser1
Também é possível criar um usuário editando diretamente o banco de dados de usuários. Esta base é armazenada em dois arquivos de configuração: /etc/passwd
/etc/shadow
vipw
vipw
vipw
Alterando Usuários com usermod
Após criar uma conta de usuário, é possível modificá-la usando o comando usermod
usermod [options] USERNAME
As opções mais importantes incluem:
: adiciona o usuário a grupos adicionais especificados com a opção-a, --append
, sem removê-lo de outros grupos.-G
: define um novo valor para o campo-c, --comment COMMENT
.GECOS
: define um novo diretório home para a conta do usuário.-d, --home HOME_DIR
: define a data de expiração da conta para-e, --expiredate EXPIRE_DATE
.EXPIRE_DATE
: força a aplicação do-g, --gid GROUP
como o novo grupo principal.GROUP
: define-G, --groups GROUPS
como a lista de grupos adicionais.GROUPS
: define um novo login para o usuário.-l, --login NEW_LOGIN
: bloqueia a conta do usuário.-L, --lock
: move o conteúdo do diretório home para um novo local (use apenas com-m, --move-home
).-d
: define uma nova senha.-p, --password PASSWORD
: remove o usuário apenas dos grupos adicionais especificados na opção-r, --remove
, sem removê-lo de outros grupos.-G
: define-s, --shell SHELL
como o shell de login da conta do usuário.SHELL
: define um novo UID para a conta do usuário.-u, --uid UID
: desbloqueia a conta do usuário.-U, --unlock
Vamos ver uns exemplos. Para adicionar o usuário superuser1
users
sudo usermod -aG users superuser1
Para verificar os grupos aos quais o usuário superuser1
Para alterar o diretório home do usuário superuser1
/home/superuser1_new
sudo usermod -d /home/superuser1_new superuser1
Para bloquear e desbloquear o usuário superuser1
sudo usermod -L superuser1 sudo usermod -U superuser1
Removendo Usuários com userdel
O comando userdel
userdel [options] USERNAME
As opções mais importantes incluem:
: força a execução de ações que de outra forma não seriam realizadas, como remover um usuário que está logado no sistema.-f, --force
: remove o diretório home do usuário.-r, --remove
Por exemplo, para remover o usuário superuser1
sudo userdel superuser1
Para remover o usuário superuser1
sudo userdel -r superuser1