adicionar comando useradd não vai criar '/ home / username' diretório, mas adduser comando
Aprofundar
65
useradd com a -mopção criará o diretório inicial.
richsinn
10
A implementação não é tão interessante, a semântica é. O Like adduser(8)é mais amigável e cria e configura um usuário por padrão da maneira que você espera. E useradd(8)faça apenas o que você pede, então você quer que um diretório pessoal seja criado, você precisa dizer a ele para criar para você.
Anders
23
Eu tenho que pesquisar isso no google toda vez ... Como posso me lembrar de qual é qual?
Quentin Skousen
11
@kkhugs para mim "adduser" parece o mais intuitivo, porque é um comando que soa como inglês, enquanto o outro não, semanticamente. Se você se lembrar dele como o "mais intuitivo" dos dois, também poderá tentar lembrá-lo como o preferido / mais fácil.
Pzkpfw
146
Sempre useadduser (e deluserao excluir usuários) ao criar novos usuários na linha de comando. (Se você estiver escrevendo um script, especialmente se você deseja portabilidade, convém usar os utilitários de baixo nível - e adduser/ ou delusernão estar disponível em todas as distros, por exemplo, no SuSE.)
Os comandos useradd, userdele usermodsão utilitários de baixo nível que estão lá por razões históricas, enquanto o adduser/deluserDo The Right Thing ™. (Lembro-me de qual usar pensando que user*vem depois adduser/deluserno alfabeto e, portanto, é "pior".)
De acordo com as respectivas páginas de manual (no Ubuntu 12.04 Precise Pangolin, ou seja, um sistema derivado do Debian).
Manpage for addusersays:
(Enfase adicionada.)
addusere addgroupadicione usuários e grupos ao sistema de acordo com as opções de linha de comando e informações de configuração em /etc/adduser.conf. Eles são front-ends mais amigáveis para ferramentas de baixo nível useradd, groupaddcomo usermodprogramas , por padrão, escolhendo valores UID e GID compatíveis com a política Debian, criando um diretório inicial com configuração esquelética, executando um script personalizado e outros recursos.
addusere addgrouppode ser executado em um dos cinco modos:
Manpage for useraddsays:
useraddé um utilitário de baixo nível para adicionar usuários. No Debian, os administradores geralmente devem usar adduser(8).
Eu nunca consigo lembrar qual, então esse é o meu mnemônico estúpido se ajudar alguém :) "user" rima com "perdedor" e "perdedor" vem por último. Assim: adduser, deluser.
Mads Skjern
26
Na verdade, eu discordo de " Sempre usuárioadduser ": para scripts automatizados, prefiro useraddporque está sempre lá, não interativo e não específico de distribuição .
Wernight
2
Tentei adduserno openSUSE, e ele não está lá (13,2).
cst1992
1
@ cst1992 Você está certo, editei a resposta para refletir isso. Curiosamente, quando experimentei locate adduserum sistema SuSE 11 em funcionamento, descobri que havia uma página de addusermanual, mas não binária (e nem uma página de delusermanual nem um comando).
Zrajm
2
No Red Hat/usr/sbin/adduser -> useradd
Levon
17
adduser: adicione usuário com perfil completo e informações (passe, cota, permissão etc.)
useradd: adicionar usuário apenas com seu nome (se você deseja adicionar um usuário temporário com apenas um nome, outras informações não são necessárias)
+1 e bem-vindo! Eu votei na pessoa que era incapaz de explicar sua votação anterior. Mantem! Bons programadores sempre chegam ao topo - (e não votam sem uma explicação). :)
Ricalsin
11
Outro par de diferenças, que levam a cenários específicos nos quais o useradd pode ser preferível.
Em algumas distros 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 do Wernight).
Os prompts podem ser suprimidos passando argumentos nulos:
adduser --disabled-password --gecos "" USER
useraddpermite que você passe vários grupos adicionais aos quais adicionar um usuário por meio da -Gopção adduserparece exigir que você chame o comando uma vez para cada grupo adicionar.
adduseré mais amigável na medida em que define as pastas iniciais da conta e outras configurações (por exemplo, o carregamento automático de estatísticas do sistema e notificações no login), enquanto useraddapenas cria o usuário.
Errado. useradd pode criar diretório inicial com -m, definir senha com -p, criar arquivos de esqueleto com -k e adicionar usuário ao (s) grupo (s) com -G.
ychaouche
5
A diferença básica é que "adduser" criará o diretório inicial e adicionará arquivos de esqueleto ao diretório em que "useradd" não criará nenhum diretório inicial 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#
Também vou apontar que addusernem sempre tem a -Mopção e também não respeita a --systembandeira que diz especificamente :
Observe que o useradd não criará um diretório inicial para esse usuário, independentemente da configuração padrão em /etc/login.defs (CREATE_HOME). Você deve especificar as opções -m se desejar que um diretório inicial para uma conta do sistema seja criado.
Se você estiver tentando criar um usuário do sistema sem um diretório inicial, use useradd --system -M.
Respostas:
Fonte: Qual é a diferença entre "adduser" e "useradd"?
fonte
-m
opção criará o diretório inicial.adduser(8)
é mais amigável e cria e configura um usuário por padrão da maneira que você espera. Euseradd(8)
faça apenas o que você pede, então você quer que um diretório pessoal seja criado, você precisa dizer a ele para criar para você.Sempre use
adduser
(edeluser
ao excluir usuários) ao criar novos usuários na linha de comando. (Se você estiver escrevendo um script, especialmente se você deseja portabilidade, convém usar os utilitários de baixo nível - eadduser
/ oudeluser
não estar disponível em todas as distros, por exemplo, no SuSE.)Os comandos
useradd
,userdel
eusermod
são utilitários de baixo nível que estão lá por razões históricas, enquanto oadduser/deluser
Do The Right Thing ™. (Lembro-me de qual usar pensando queuser*
vem depoisadduser/deluser
no alfabeto e, portanto, é "pior".)De acordo com as respectivas páginas de manual (no Ubuntu 12.04 Precise Pangolin, ou seja, um sistema derivado do Debian).
Manpage for
adduser
says:(Enfase adicionada.)
Manpage for
useradd
says:Veja também: Qual é a diferença entre "adduser" e "useradd"? (no superusuário)
fonte
adduser
": para scripts automatizados, prefirouseradd
porque está sempre lá, não interativo e não específico de distribuição .adduser
no openSUSE, e ele não está lá (13,2).locate adduser
um sistema SuSE 11 em funcionamento, descobri que havia uma página deadduser
manual, mas não binária (e nem uma página dedeluser
manual nem um comando)./usr/sbin/adduser -> useradd
adduser
: adicione usuário com perfil completo e informações (passe, cota, permissão etc.)useradd
: adicionar usuário apenas com seu nome (se você deseja adicionar um usuário temporário com apenas um nome, outras informações não são necessárias)fonte
Outro par de diferenças, que levam a cenários específicos nos quais o useradd pode ser preferível.
Em algumas distros 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 do Wernight).
Os prompts podem ser suprimidos passando argumentos nulos:
useradd
permite que você passe vários grupos adicionais aos quais adicionar um usuário por meio da-G
opçãoadduser
parece exigir que você chame o comando uma vez para cada grupo adicionar.fonte
adduser
é mais amigável na medida em que define as pastas iniciais da conta e outras configurações (por exemplo, o carregamento automático de estatísticas do sistema e notificações no login), enquantouseradd
apenas cria o usuário.fonte
A diferença básica é que "adduser" criará o diretório inicial e adicionará arquivos de esqueleto ao diretório em que "useradd" não criará nenhum diretório inicial e arquivos de esqueleto!
adduser tente:
useradd try1:
fonte
Também vou apontar que
adduser
nem sempre tem a-M
opção e também não respeita a--system
bandeira que diz especificamente :Se você estiver tentando criar um usuário do sistema sem um diretório inicial, use
useradd --system -M
.fonte