В чем разница между командами adduser
а также useradd
на Ubuntu?
В чем разница между командами adduser
а также useradd
на Ubuntu?
useradd
является встроенным двоичным кодом, скомпилированным в системе. Но,adduser
является скрипт perl, который используетuseradd
двоичный.
adduser
более удобен для пользователя и интерактивен, чем его внешнийuseradd
, Нет никакой разницы в предоставляемых функциях.
Всегда используйте adduser
(а также deluser
при удалении пользователей) при создании новых пользователей из командной строки. (Если вы пишете сценарий, особенно если вы нацелены на переносимость, вы можете вместо этого использовать утилит низкого уровня - и adduser
/deluser
может быть недоступна на всех дистрибутивах, например. на SuSE.)
useradd
, userdel
а также usermod
команды - это низкоуровневые утилиты, которые существуют по историческим причинам, в то время как adduser/deluser
Делать правильные вещи. (Я помню, что использовать, думая, что user*
идет после adduser/deluser
в алфавите, и поэтому «хуже».)
Согласно соответствующим manpages (на Ubuntu 12.04 Precise Pangolin, то есть на производной системе Debian).
adduser
говорит:(Акцент добавлен.)
adduser
а такжеaddgroup
добавлять пользователей и группы в систему в соответствии с командной строкой параметров и информации о конфигурации в/etc/adduser.conf
, Они более дружелюбны передними концами инструментам низкого уровня, напримерuseradd
,groupadd
а такжеusermod
программы, по умолчанию выбирая соответствие политик Debian значениям UID и GID, создавая дом каталог с конфигурацией скелета, запуск пользовательского сценария и другие функции.adduser
а такжеaddgroup
может работать в одном из пяти режимов:
useradd
говорит:
useradd
это утилита низкого уровня для добавления пользователей. В Debian администраторы должны обычно используютadduser(8)
вместо.
Смотрите также: В чем разница между «adduser» и «useradd»? (на SuperUser)
adduser
: добавить пользователя с полным профилем и информацией (пропуск, квота, разрешение и т. д.)
useradd
: добавьте пользователя только с его именем (если вы хотите добавить временного пользователя только с именем, другая информация не требуется)
adduser
более дружелюбен тем, что он устанавливает домашние папки учетной записи и другие настройки (например, автоматически загружает системные статистические данные и уведомления при входе в систему), тогда как useradd
просто создает пользователя.
Еще пара различий, которые приводят к конкретным сценариям, где useradd может быть предпочтительнее.
В некоторых новых дистрибутивах, включая Ubuntu 14.4, adduser будет запрашивать информацию, такую как пароль и «gecos» (данные для команды finger). Это означает, что он может быть менее подходящим для вызова из скрипта (кредит: уже упоминается в комментарии Wernight).
Запросы могут быть подавлены путем передачи нулевых аргументов:
adduser --disabled-password --gecos "" USER
useradd
позволяет передавать несколько дополнительных групп, чтобы добавить пользователя с помощью -G
вариант. adduser
кажется, требует, чтобы вы вызывали команду один раз для каждой добавляемой группы.
Основное отличие - «adduser» создаст домашний каталог и добавит файлы скелета в этот каталог, где «useradd» не будет создавать файлы домашней директории и скелета!
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
# 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#