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

55

Какая разница между useraddа adduser? Когда / почему я предпочитаю использовать один или другой?

Линделоф
источник
6
На какую операционную систему вы ссылаетесь?
mfinni
Это Debian Linuxобоснованный вопрос.
unixman83
Тот же вопрос, что и у Ubuntu и у Super User .
Зрайм

Ответы:

37

В случае Debian и связанных с ним дистрибутивов, adduser является более дружественным интерактивным интерфейсом для useradd.

Найл Донеган
источник
7
Это не дружелюбие, это использование. Вы можете использовать adduser для интерактивного добавления учетной записи, или вы можете использовать useradd для пакетного добавления учетных записей. У useradd также есть интерактивный режим.
tkorkunckaya
@tkorkunckaya: так, что использование на основе вашего описания, то если useradd также может сделать интерактивный режим?
lpapp
У useradd нет интерактивного режима
ychaouche
13

В Ubuntu useradd просто создает запись в пользовательской базе данных (/ etc / passwd и т. Д.).

С другой стороны, adduser также создает домашний каталог для пользователя, заполняет его содержимым / etc / skel и позволяет установить пароль в интерактивном режиме.

Кристиан
источник
3
+1. man useradd: «useradd - это утилита низкого уровня для добавления пользователей. В Debian администраторы обычно должны использовать вместо этого adduser (8)».
петрус
Я считаю, что adduser также интерактивно заполняет поля GECOS
Майкл Лоуман
@petrus, почему так?
lpapp
useradd может создать домашний каталог, установить пароль, добавить в группы, создать файлы скелета и даже установить оболочку.
ychaouche
13

Всегда используйтеadduserdeluserпри удалении пользователей).

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

Согласно соответствующим страницам руководства (в 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)вместо этого.

Смотрите также:

zrajm
источник
Согласитесь с этим, «всегда используйте adduser», а не useradd. Это должен быть принятый ответ!
TwystO
7

lrwxrwxrwx. 1 root root 7 ноября 17 13:52 / usr / sbin / adduser -> useradd

Одним из них является «ярлык» / «символическая ссылка» на другой. Так что без разницы.

Это на Redhat Linux (и Centos / Fedora), это не может быть справедливо на других дистрибутивах.

Sirex
источник
3
Правильно на RH, но на некоторых дисках, таких как Ubuntu, есть разные двоичные файлы.
Энси
Правда, я отредактирую свой ответ.
Sirex
4
Многие двоичные файлы и сценарии изменяют свое поведение в зависимости от вызова командной строки.
Jscott
7

На FreeBSD:
adduserэто «дружественный» интерактивный способ вопросов и ответов для добавления локальных пользователей.
useraddне существует

Крис С
источник