Questão Qual é a diferença entre adduser e useradd?


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


367
2017-09-15 20:32


origem


Mesma questão no super usuário e na falha do servidor - ændrük
e também em Unix stackexchange (resposta bem detalhada) - xealits


Respostas:


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

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

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


322
2017-09-15 20:56



add useradd command não irá criar o diretório '/ home / username', mas o comando adduser - Deepen
useradd com o -m opção irá criar o diretório inicial. - richsinn
A implementação não é tão interessante, a semântica é. Gostar adduser(8) é mais fácil de usar e cria e configura um usuário por padrão da maneira esperada. E useradd(8) faça apenas o que você pede, então você quer um diretório home criado, você tem que dizer para criá-lo para você. - Anders
Eu tenho que google isso toda vez ... Como posso me ajudar a lembrar qual é qual? - Quentin Skousen
@kkhugs para mim "adduser" parece mais intuitivo porque é um comando que soa como inglês, enquanto o outro não, semanticamente. Se você se lembrar disso como o "mais intuitivo" dos dois, você também pode tentar lembrá-lo como o preferido / mais fácil. - pzkpfw


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

o useradd, userdel e usermod comandos são utilitários de baixo nível que estão lá por razões históricas, enquanto adduser/deluser Faça a coisa Certa. (Eu lembro qual usar pensando que user* vem depois 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:

(Enfase adicionada.)

adduser e addgroup adicionar usuários e grupos ao sistema de acordo com a linha de comando   opções e informações de configuração /etc/adduser.conf. Eles são mais amigáveis   front-ends para as ferramentas de baixo nível como useradd, groupadd e usermod programas,   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 pode ser executado 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   costuma usar adduser(8) em vez de.

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


133
2017-11-24 17:42



Eu nunca lembro qual deles, então este é o meu mnemônico estúpido se ajudar alguém :) "usuário" rima com "perdedor" e "perdedor" vem por último. Assim: adduser, deluser. - Mads Skjern
eu na verdade discordar em "Sempre usuário adduser": Para scripts automatizados eu prefiro useradd porque é sempre lá, não interativo, e não distro-specific. - Wernight
eu tentei adduser no openSUSE, e não está lá. (13.2) - cst1992
@ cst1992 Você está certo, eu editei a resposta para refletir isso. Curiosamente, quando tentei locate adduser em um sistema SuSE 11 no trabalho, descobri que havia uma adduser manpage, mas não binário (e nem um deluser manpage nem um comando). - zrajm
useradd é melhor se você for um verdadeiro administrador de sistema. Não ser capaz de usar adduser em um script autônomo é uma chatice real. - answerSeeker


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

useradd: adicionar 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)


14
2017-07-02 11:00



+1 e bem-vindo! Eu votei na pessoa que era incapaz de explicar o voto anterior. Mantem! Bons programadores sempre chegam ao topo - (e não baixam os votos sem uma explicação). :) - Ricalsin


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


7
2017-09-15 21:05



Errado. O useradd pode criar o diretório home com -m, definir a senha com -p, criar arquivos de esqueleto com -k e incluir o usuário em grupo (s) com -G. - ychaouche


Outro par de diferenças, que levam a cenários específicos onde o 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 do -G opção. adduser parece exigir que você chame o comando uma vez para cada grupo para adicionar.


7
2017-09-29 21:38



Não funciona no Ubuntu 16.04. - answerSeeker


Diferença básica é "adduser" irá criar o diretório home e adicionar arquivos esqueletos para o diretório onde "useradd" não irá criar qualquer diretório home e arquivos de esqueleto!

adduser tente:

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#

3
2017-10-26 14:10



Errado. Vejo comentário anterior - ychaouche