Qual é a diferença entre adduser e useradd?

345

Qual é a diferença entre os comandos adduser e useradd no Ubuntu?

    
por Joe Cabezas 15.09.2013 / 22:32
fonte

6 respostas

303
  

useradd é um binário nativo compilado com o sistema. Mas, adduser é   um script perl que usa useradd binary no backend.

     

adduser é mais amigável e interativo do que seu back-end   %código%. Não há diferença nos recursos fornecidos.

Fonte: Qual é a diferença entre “adduser” e “useradd”?

    
por Radu Rădeanu 15.09.2013 / 22:56
fonte
127

Sempre use adduser (e deluser ao excluir usuários) ao criar novos usuários a partir da linha de comando. (Se você estiver escrevendo um script, especialmente se você apontar para portabilidade, você pode querer usar os utilitários de baixo nível - e adduser / deluser pode não estar disponível em todas as distribuições, por exemplo no SuSE.)

Os comandos useradd , userdel e usermod são utilitários de baixo nível que estão lá por razões históricas, enquanto adduser/deluser Faz a Coisa Certa ™. (Eu me lembro qual usar pensando que user* vem depois de adduser/deluser no alfabeto e, portanto, é "pior".)

De acordo com os respectivos manpages (no Ubuntu 12.04 Precise Pangolin, ou seja, um sistema derivado do Debian).

Manpage para adduser diz:

(ênfase adicionada).

  

adduser e addgroup adicionam usuários e grupos ao sistema de acordo com a linha de comando   opções e informações de configuração em /etc/adduser.conf . Eles são mais amigáveis   front-ends para as ferramentas de baixo nível como useradd , groupadd e usermod programs ,   por padrão, escolhendo os valores UID e GID em conformidade com a política Debian, criando uma   diretório com configuração esquelética, executando um script personalizado e outros recursos.    adduser e addgroup podem ser executados em um dos cinco modos:

Manpage para useradd diz:

  

useradd é um utilitário de baixo nível para adicionar usuários. No Debian, os administradores devem   geralmente use adduser(8) .

Veja também: Qual é a diferença entre “adduser” e “useradd”? (no Superusuário)

    
por zrajm 24.11.2013 / 18:42
fonte
14

adduser : adicione usuário com perfil completo e informações (passe, cota, permissão, etc.)

useradd : adicione o usuário apenas com o nome dele (se você quiser adicionar um usuário temporário com apenas um nome, outras informações não serão necessárias)

    
por mandm 02.07.2014 / 13:00
fonte
7

adduser é mais amigável, pois configura as pastas base da conta e outras configurações (por exemplo, o carregamento automático de estatísticas e notificações do sistema no login), enquanto useradd apenas cria o usuário.

    
por Paul 15.09.2013 / 23:05
fonte
7

Mais algumas diferenças, que levam a cenários específicos em que useradd pode ser preferível.

  1. Em algumas distribuições mais recentes, incluindo o Ubuntu 14.4, o adduser solicitará informações como senha e "gecos" (dados para o comando finger). Isso significa que pode ser menos adequado para chamar de um script (crédito: já mencionado em um comentário por Wernight).

    Os prompts podem ser suprimidos passando argumentos nulos:

    adduser --disabled-password --gecos "" USER
    
  2. useradd permite que você passe vários grupos adicionais para adicionar um usuário por meio da opção -G . adduser parece exigir que você chame o comando uma vez para cada grupo para adicionar.

por AdamS 29.09.2015 / 23:38
fonte
3

A diferença básica é "adduser" criará o diretório inicial & amp; adicione arquivos de esqueleto a esse diretório em que "useradd" não criará nenhum diretório inicial & amp; arquivos de esqueleto!

adduser try:

Adding user 'try' ...
Adding new group 'try' (1001) ...
Adding new user 'try' (1001) with group 'try' ...
Creating home directory '/home/try' ...
Copying files from '/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for try
Enter the new value, or press ENTER for the default
        Full Name []:
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n] y

useradd try1:

# ll /home/
total 20
drwxr-xr-x  5 root    root    4096 Oct 26 15:52 ./
drwxr-xr-x 22 root    root    4096 Oct 26 15:47 ../
drwx------  8 ashishk ashishk 4096 Oct 26 15:50 ashishk/
drwxr-xr-x  3 root    root    4096 Oct 14 13:02 .ecryptfs/
drwxr-xr-x  2 try     try     4096 Oct 26 15:52 try/
root@chef-workstation:/home/ashishk#
    
por Ashish Karpe 26.10.2015 / 15:10
fonte