Devo usar useradd ou adduser?

7

Estou tentando adicionar um novo usuário ao sistema. Estou confuso com qual comando executar: useradd ou adduser ?

    
por k0pernikus 15.05.2013 / 14:33

2 respostas

12

De acordo com o manual, você deve usar adduser :

man useradd

DESCRIPTION

useradd is a low level utility for adding users. On Debian, administrators should usually use adduser(8) instead.

    
por 15.05.2013 / 14:33
7

Apesar do que a página de manual diz para useradd e userdel , eu sempre uso os binários de back-end de baixo nível: useradd , userdel , groupadd , groupdel .

Os scripts front-end são interativos e feitos para serem amigáveis, mas fazem as mesmas coisas. É realmente uma questão de preferência pessoal.

Em termos de diferenças práticas:

useradd e groupadd têm opções semelhantes aos comandos usermod e groupmod , e não há scripts front-end para esses comandos (ou seja, nenhum script moduser ou modgroup front-end) Por isso, é mais consistente usar comandos semelhantes para manutenção de contas.

Existem diferentes arquivos de configuração para as configurações padrão, como IDs de usuário, shells, grupos de login, etc. Portanto, verifique qual deles você está editando para alterar as configurações.

Os scripts front-end "protegem" você de inserir nomes idiotas, a menos que você forneça a opção --force-badname . Por exemplo, nomes de usuários ou nomes de grupos que contêm caracteres especiais ou que começam com um número. Isso é algo que é improvável que seja feito acidentalmente, por isso não há necessidade de "proteção".

Os scripts front-end também "protegem" você de excluir a conta raiz, a menos que você use o --force option . Por que alguém estaria tentando usar isso, eu não sei. Também vale a pena ressaltar que você não pode remover uma conta de usuário se houver um processo em execução sob ela, e sempre há processos sendo executados como root, então isso deve falhar de qualquer maneira.

(Eu nunca tive coragem de tentar, no entanto.)

Somente o adduser do script front-end tem uma opção para criptografar o diretório inicial.

No entanto, há algumas coisas que os scripts amigáveis não podem fazer e você precisaria recorrer aos comandos binários, embora essas coisas normalmente não precisem ser feitas:

  • useradd pode substituir o valor padrão do diretório inicial do skeleton, sem a necessidade de editar o arquivo de configuração, ou criar um novo arquivo de configuração. Veja a opção -k .

  • useradd pode impedir a adição do usuário recém-criado ao banco de dados lastlog, com a opção -l .

  • useradd e groupadd podem criar contas com UIDs ou GIDs não exclusivos, respectivamente, usando a opção -o . Os scripts não fornecem esse recurso.

  • useradd pode criar um novo usuário com um mapeamento de selinux, se o selinux estiver ativado no sistema, com a opção -Z . Isso, no entanto, também pode ser feito com outros comandos depois que a conta for criada, como semanage ou usermod .

  • finalmente, e talvez o mais importante, apenas os comandos binários têm a capacidade de operar em sistemas alternativos sob um diretório raiz alternativo, como /snap/core , usando a opção -R .

por 24.05.2017 / 02:28