В чем разница между adduser и useradd?
В чем разница между командами adduser
и useradd
на Ubuntu?
6 ответов
useradd
является встроенным двоичным кодом, скомпилированным в системе. Ноadduser
скрипт perl, который использует двоичный кодuseradd
.
adduser
более удобен для пользователя и интерактивен, чем его внешнийuseradd
. Нет никакой разницы в предоставляемых функциях.
Всегда используйте adduser
(и deluser
при удалении пользователей) при создании новых пользователей из командной строки. (Если вы пишете сценарий, особенно если вы нацелены на переносимость, вы можете захотеть использовать утилиты lowlevel вместо этого, а deluser
может быть недоступен на всех дистрибутивах, например, на SuSE.)
Команды useradd
, userdel
и usermod
являются низкоуровневыми утилитами, которые существуют по историческим причинам, а adduser /deluser
code> Сделайте правильную вещь. (Я помню, что использовать, считая, что 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)
.
См. также: В чем разница между «adadus» и «useradad»? (на SuperUser)
adduser
: добавьте пользователя с полным профилем и информацией (пропуск, квота, разрешение и т. д.)
useradd
: добавьте пользователя только с его именем (если вы хотите добавить временного пользователя только с именем, другая информация не требуется)
adduser
более дружелюбен в том, что он устанавливает домашние папки и другие настройки учетной записи (например, автоматически загружает системные статистики и уведомления при входе в систему), тогда как useradd
просто создает пользователя .
Еще две разногласия, которые приводят к конкретным сценариям, где useradd может быть предпочтительнее.
-
В некоторых новых дистрибутивах, включая Ubuntu 14.4, adduser будет запрашивать информацию, такую как пароль и «gecos» (данные для команды finger). Это означает, что он может быть менее подходящим для вызова из скрипта (кредит: уже упоминается в комментарии Wernight).
Запросы могут быть подавлены путем передачи нулевых аргументов:
adduser --disabled-password --gecos "" ПОЛЬЗОВАТЕЛЬ
-
useradd
позволяет передавать несколько дополнительных групп, чтобы добавить пользователя с помощью опции-G
.adduser
, кажется, требует, чтобы вы вызывали команду один раз для каждой добавляемой группы.
Основное отличие - «adduser» создаст домашнюю директорию & добавьте файлы скелета в этот каталог, где «useradd» не будет создавать домашний каталог и amp; скелетные файлы!
adduser try:
Добавление пользователя `try '...
Добавление новой группы `try '(1001) ...
Добавление нового пользователя `try '(1001) с помощью команды` try' ...
Создание домашней директории `/home /try '...
Копирование файлов из `/etc /skel '...
Введите новый пароль UNIX:
Повторите новый пароль UNIX:
passwd: успешно обновлен пароль
Изменение пользовательской информации для проверки
Введите новое значение или нажмите ENTER для настройки по умолчанию.
Полное имя []:
Номер комнаты []:
Рабочий телефон []:
Домашний телефон []:
Другие []:
Правильно ли информация? [Y /n] y
useradd try1:
# ll /home /
всего 20
drwxr-xr-x 5 root root 4096 26 окт 15:52 ./
drwxr-xr-x 22 root root 4096 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 попробуйте попробуйте 4096 26 окт 15:52 try /
корень @ шеф-рабочая станция: /Главная /ashishk #