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

49

Eu me pergunto: Por que existem esses dois comandos no Debian Linux, com nomes e funcionalidades muito similares? Isso sempre foi confuso para mim.

  • Algum deles é superior a outro?
  • Por que eles não são mesclados em um só?
  • Existe alguma diferença significativa entre eles?
  • Qual deles devo usar? Ou depende de um caso de uso?
por Petr Pudlák 07.02.2013 / 16:23

3 respostas

59

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 useradd . Não há diferença nos recursos fornecidos.

    
por 07.02.2013 / 16:34
8

A principal vantagem do adduser sobre useradd é lidar com usuários no nível do sistema. Com adduser , a conta de usuários no nível do sistema, quando criada, coloca um diretório do usuário em casa para o usuário do sistema, em que useradd não é automaticamente. Se você ler o homem, ele será basicamente o mesmo, exceto se os usuários do nível do sistema e os diretórios iniciais associados forem automáticos. adduser cria um diretório / home / user automaticamente para usuários no nível do sistema em que não há uma cláusula useradd , exceto se especificado pela opção -m . As outras leituras que eu já vi afirmaram genericamente que o UID e o GUID são designados pelos padrões Debian conformes aceitos em adduser .

    
por 04.11.2015 / 23:24
0

Em algumas instâncias do Redhat que eu verifiquei (4.9 de 2011 e 6.9 de 2017), adduser é simplesmente um alias para useradd, não um script Perl. Aqui está no Redhat 6.9:

$ ls -la /usr/sbin/useradd /usr/sbin/adduser
lrwxrwxrwx. 1 root root      7 Nov  2  2016 /usr/sbin/adduser -> useradd
-rwxr-x---. 1 root root 111320 Feb  9  2016 /usr/sbin/useradd

A maneira como eu lembro que useradd é o programa 'correto' é o seguinte: adicionar um usuário é apenas uma operação no espectro CRUD. Você também precisa das operações 'modificar' e 'excluir' ('ler' é presumivelmente coberto pela visualização de / etc / passwd). E assim, os programas são nomeados usuário * (useradd, usermod e userdel respectivamente). Suponho que a alternativa * user convenção de nomenclatura (adduser, moduser e deluser - estes não existem) também poderia funcionar. Mas seria um pouco mais estranho (por uma razão que não posso expressar claramente no momento:)

    
por 29.01.2018 / 04:38