В чем разница между командами adduserи useraddв Ubuntu?
В чем разница между командами adduserи useraddв Ubuntu?
Ответы:
useraddэто родной двоичный файл, скомпилированный с системой. Но,adduserэто Perl-скрипт, который используетuseraddбинарный в фоновом режиме.
adduserболее удобный и интерактивный, чем его бэкэндuseradd. Там нет никакой разницы в предоставляемых функциях.
Источник: В чем разница между «adduser» и «useradd»?
-mопцией создаст домашний каталог.
adduser(8)более удобен для пользователя и по умолчанию создает и настраивает пользователя так, как вы ожидаете. И useradd(8)делать только то, что вы просите, поэтому вы хотите, чтобы домашний каталог был создан, вы должны сказать ему, чтобы создать его для вас.
Всегда используйтеadduser (и deluserпри удалении пользователей) при создании новых пользователей из командной строки. (Если вы пишете скрипт, особенно если вы стремитесь к переносимости, вы можете вместо этого использовать утилиты низкого уровня - и adduser/ deluserмогут быть недоступны на всех дистрибутивах, например, на SuSE.)
В useradd, userdelи usermodкоманды низкоуровневых утилит , которые существуют по историческим причинам, в то время как adduser/deluserDo The Right Thing ™. (Я помню, что использовать, думая, что user*следует adduser/deluserв алфавите, и, следовательно, «хуже».)
Согласно соответствующим страницам руководства (в 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на openSUSE, а его там нет. (13.2)
locate adduserна работе систему SuSE 11, я обнаружил, что там есть adduserman-страница, но нет бинарной (и ни deluserman-страницы, ни команды).
/usr/sbin/adduser -> useradd
adduser: добавить пользователя с полным профилем и информацией (пароль, квота, разрешение и т. д.)
useradd: добавить пользователя только с его именем (если вы хотите добавить временного пользователя только с именем, другая информация не требуется)
Еще одна пара отличий, которые приводят к конкретным сценариям, где использование useradd может быть предпочтительным.
В некоторых новых дистрибутивах, включая Ubuntu 14.4, adduser будет запрашивать такую информацию, как пароль и «gecos» (данные для команды finger). Это означает, что он может быть менее подходящим для вызова из скрипта (кредит: уже упоминалось в комментарии Wernight).
Подсказки можно подавить, передав нулевые аргументы:
adduser --disabled-password --gecos "" USER
useraddпозволяет передать несколько дополнительных групп для добавления пользователя с помощью этой -Gопции. adduserКажется, требуется, чтобы вы вызывали команду один раз для добавления каждой группы.
adduserудобнее в том, что он устанавливает домашние папки учетной записи и другие настройки (например, автоматически загружает системную статистику и уведомления при входе в систему), тогда как useraddпросто создает пользователя.
Основное отличие заключается в том, что «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#
Я также укажу, что adduserне всегда есть -Mопция, а также не учитывается --systemфлаг, который конкретно говорит :
Обратите внимание, что useradd не будет создавать домашний каталог для такого пользователя, независимо от значения по умолчанию в /etc/login.defs (CREATE_HOME). Вы должны указать опции -m, если вы хотите создать домашний каталог для системной учетной записи.
Если вы пытаетесь создать системного пользователя без домашнего каталога, используйте useradd --system -M.