В чем разница между adduser и useradd?

313

В чем разница между командами adduser и useradd ?

    
задан Joe Cabezas 15.09.2013 в 20:32
источник

6 ответов

282
  

useradd является встроенным двоичным кодом, скомпилированным в системе. Но adduser   скрипт perl, который использует useradd двоичный файл в фоновом режиме.

     

adduser более удобна для пользователя и интерактивна, чем его внешний   %код%. Нет никакой разницы в предоставляемых функциях.

Источник: В чем разница между «adduser» и «useradd»?     

ответ дан Radu Rădeanu 15.09.2013 в 20:56
источник
120

Всегда используйте adduser deluser при удалении пользователей) при создании новых пользователей из командной строки. (Если вы пишете сценарий, особенно если вы нацелены на переносимость, вместо этого вы можете использовать утилиты lowlevel - и adduser / deluser могут быть недоступны для всех дистрибутивов, например, на SuSE.)

Команды useradd , userdel и usermod - это низкоуровневые утилиты, которые существуют по историческим причинам, а adduser/deluser Do The Right Thing ™. (Я помню, что использовать, думая, что user* приходит после adduser/deluser в алфавите и, следовательно, «хуже».)

В соответствии с соответствующими manpages (на Ubuntu 12.04 Precise Pangolin, то есть на производную систему Debian).

Manpage для adduser говорит:

(Акцент добавлен.)

  

adduser и addgroup добавить пользователей и группы в систему в соответствии с командной строкой   параметры и информацию о конфигурации в /etc/adduser.conf . Они более дружелюбны   передняя часть инструментов низкого уровня, таких как useradd , groupadd и usermod программ ,   по умолчанию выбирая соответствие политик Debian значениям UID и GID, создавая дом   каталог с конфигурацией скелета, запуск пользовательского сценария и другие функции.    adduser и addgroup могут быть запущены в одном из пяти режимов:

Manpage для useradd говорит:

  

useradd - это утилита низкого уровня для добавления пользователей. В Debian администраторы должны   обычно вместо этого используйте adduser(8) .

Смотрите также: В чем разница между «adduser» и «useradd»? (на SuperUser)

    
ответ дан zrajm 24.11.2013 в 17:42
источник
14

adduser : добавить пользователя с полным профилем и информацией (пропуск, квота, разрешение и т. д.)

useradd : добавьте пользователя только с его именем (если вы хотите добавить временного пользователя только с именем, другая информация не требуется)

    
ответ дан mandm 02.07.2014 в 11:00
источник
7

adduser более дружелюбен в том, что он устанавливает домашние папки учетной записи и другие настройки (например, автоматически загружает статистику системы и уведомления при входе в систему), тогда как useradd просто создает пользователя.

    
ответ дан Paul 15.09.2013 в 21:05
источник
6

Еще две разногласия, которые приводят к конкретным сценариям, где useradd может быть предпочтительнее.

  1. В некоторых новых дистрибутивах, включая Ubuntu 14.4, adduser будет запрашивать информацию, такую ​​как пароль и «gecos» (данные для команды finger). Это означает, что он может быть менее подходящим для вызова из скрипта (кредит: уже упоминается в комментарии Wernight).

    Запросы могут быть подавлены путем передачи нулевых аргументов:

    adduser --disabled-password --gecos "" USER
    
  2. useradd позволяет передать несколько дополнительных групп, чтобы добавить пользователя с помощью опции -G . adduser , похоже, требует, чтобы вы вызывали команду один раз для каждой добавляемой группы.

ответ дан AdamS 29.09.2015 в 21:38
источник
3

Основное отличие - «adduser» создаст домашнюю директорию & amp; добавьте файлы скелета в этот каталог, где «useradd» не будет создавать домашний каталог и amp; скелетные файлы!

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#
    
ответ дан Ashish Karpe 26.10.2015 в 14:10
источник

Ознакомьтесь с другими вопросами по меткам