Интересно: почему в Debian Linux есть эти две команды с очень похожими именами и функциональностью? Это всегда смущало меня.
- Кто-то из них превосходит другого?
- Почему они не объединены в один?
- Есть ли существенная разница между ними?
- Какой из них я должен использовать? Или это зависит от варианта использования?
linux
debian
user-management
Петр Пудлак
источник
источник
useradd
доступно на всех Unix-подобных платформах;adduser
только для Debian и его производных.Ответы:
useradd
это родной двоичный файл, скомпилированный с системой. Но,adduser
это Perl-скрипт, который используетuseradd
бинарный в фоновом режиме.adduser
более удобный и интерактивный, чем его бэкэндuseradd
. Там нет никакой разницы в предоставляемых функциях.источник
Основным преимуществом adduser перед useradd является работа с пользователями системного уровня. С помощью adduser учетная запись пользователя системного уровня при создании помещает каталог пользователя в домашний каталог для системного пользователя, в котором useradd не работает автоматически. Если вы читаете человека, они по существу одинаковы, за исключением пользователей системного уровня, и связанные домашние каталоги являются автоматическими. adduser автоматически создает каталог / home / user для пользователей системного уровня, где в useradd нет положения , кроме случаев, указанных в опции -m . В других чтениях, с которыми я сталкивался, в общем утверждается, что UID и GUID назначаются в Adduser в соответствии с принятыми конформными стандартами Debian.,
источник
В нескольких экземплярах Redhat, которые я проверял (4.9 из 2011 и 6.9 из 2017), adduser - это просто псевдоним useradd, а не сценарий Perl. Вот это в Redhat 6.9:
Я помню, что useradd - это «правильная» программа: добавление пользователя - это всего лишь одна операция в спектре CRUD. Вам также нужны операции «изменить» и «удалить» (предположительно, «чтение» рассматривается при просмотре / etc / passwd). И так, программы называются user * (useradd, usermod и userdel соответственно). Я предполагаю, что альтернативное * соглашение об именах пользователей (adduser, moduser и deluser - их не существует) также может работать. Но это было бы немного более неловко (по причине, которую я не могу выразить ясно в данный момент :)
источник
moduser
на Debian, ноdeluser
определенно есть.В raspian (мне нужно было бы проверить другие ОС), adduser USER запускает диалог (TUI), а useradd USER - нет.
Очевидно, что при использовании adduser, как только появляется диалоговое окно, полная команда 'useradd' уже выполнена. Даже если вы CTRL-C ваш пользователь там.
Как и в новых системах, они создают «личные» группы, чтобы удалить вновь созданного пользователя, вам необходимо:
Я предполагаю, что поскольку adduser «использует» useradd, остальное - это метаданные о пользователе. Технически, никаких изменений в «skel», «file mask» и т. П., Т. Е. В вашей системе по умолчанию.
С другой стороны, поскольку useradd не вызывает никакого TUI, это может быть более полезно при написании сценариев.
Честно говоря, я тестировал его только на расбианском языке, потому что по этой причине я остановился на этом вопросе.
Я могу представить, что другие ОС могут реализовывать другую версию adduser.
источник