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

В чем разница между командами adduser и useradd на Ubuntu?

1
задан 1 May 2018 в 20:39

5 ответов

Всегда используйте adduser (и deluser при удалении пользователей) при создании новых пользователей из командной строки. (Если вы пишете скрипт, особенно если вы нацелены на переносимость, вместо этого вы можете использовать утилит низкого уровня, а adduser / deluser могут быть недоступны для всех дистрибутивов, например, на SuSE.) [!d0 ]

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

Согласно соответствующим manpages (на Ubuntu 12.04 Precise Pangolin, т.е. Debian.

Manpage для adduser говорит:

(Добавлен код).

adduser и addgroup добавить пользователей и группы в в соответствии с параметрами командной строки и информацией о конфигурации в /etc/adduser.conf. Они являются более дружественными передними концами инструментам низкого уровня, таким как программы useradd, groupadd и usermod, по умолчанию выбирают соответствующие значения UID и GID политики Debian, создавая домашний каталог с скелетной конфигурацией, запуская собственный скрипт и другие функции. adduser и addgroup могут быть запущены в одном из пяти режимов:

Manpage для useradd говорит:

adduser и addgroup добавлять пользователей и групп в систему в соответствии с параметрами командной строки и информацией о конфигурации в /etc/adduser.conf. Они являются более дружественными передними концами инструментам низкого уровня, таким как программы useradd, groupadd и usermod, по умолчанию выбирают соответствующие значения UID и GID политики Debian, создавая домашний каталог с скелетной конфигурацией, запуская собственный скрипт и другие функции. adduser и addgroup могут быть запущены в одном из пяти режимов:

useradd - утилита низкого уровня для добавления пользователей. В Debian администраторы обычно должны использовать adduser(8).

125
ответ дан 24 May 2018 в 17:56
  • 1
    Я никогда не помню, какой из них, так что это моя глупая мнемоника, если она кому-то помогает :) " пользователь " рифмы с «неудачником» и «неудачником» последнее. Таким образом: adduser, deluser. – Mads Skjern 13 March 2015 в 16:27
  • 2
    Я действительно не согласен на « Всегда пользователь adduser »: Для автоматизированных сценариев я предпочел бы useradd, потому что он всегда присутствует, неинтерактивный, и не зависит от типа . – Wernight 15 April 2015 в 13:47
  • 3
    Я попробовал adduser на openSUSE, и его там нет (13.2) – cst1992 24 May 2016 в 10:18
  • 4
    @ cst1992 Вы правы, я отредактировал ответ, чтобы отразить это. Как ни странно, когда я пытался locate adduser в системе SuSE 11 работать, я обнаружил, что была man_страница adduser, но не была бинарной (и ни маской страницы deluser, ни командой). – zrajm 24 May 2016 в 18:40
  • 5
    useradd лучше, если вы настоящий администратор sys. Невозможность использовать adduser в автономном скрипте - настоящий облом. – answerSeeker 10 February 2017 в 04:53

adduser: добавить пользователя с полным профилем и информацией (пропуск, квота, разрешение и т. д.)

useradd: добавить пользователя только с его именем (если вы хотите добавить временного пользователя с только именем, другая информация не требуется)

14
ответ дан 24 May 2018 в 17:56
  • 1
    +1 и Добро пожаловать! Я проголосовал за человека, который не мог объяснить свой предыдущий голос. Так держать! Хорошие программисты всегда поднимаются на вершину - (и не голосуют без объяснения причин). :) – Ricalsin 9 August 2014 в 07:38

adduser более дружелюбен в том, что он устанавливает домашние папки учетной записи и другие настройки (например, автоматически загружает системные статистики и уведомления при входе в систему), тогда как useradd просто создает пользователя.

7
ответ дан 24 May 2018 в 17:56
  • 1
    Неправильно. useradd может создать домашний каталог с -m, установить пароль с -p, создать скелетные файлы с -k и добавить пользователя в группу (-и) с -G. – ychaouche 21 February 2018 в 15:38

Еще одна пара различий, которые приводят к конкретным сценариям, где useradd может быть предпочтительнее.

В некоторых новых дистрибутивах, включая Ubuntu 14.4, adduser будет запрашивать информацию, такую ​​как пароль и «gecos» (данные для команда пальца). Это означает, что он может быть менее подходящим для вызова из скрипта (кредит: уже упоминается в комментарии Wernight). Запросы можно подавить, передав нулевые аргументы:
adduser --disabled-password --gecos "" USER
useradd позволяет передавать несколько дополнительных групп, чтобы добавить пользователя с помощью опции -G. Кажется, что adduser требует, чтобы вы вызывали команду один раз для каждой добавляемой группы.
6
ответ дан 24 May 2018 в 17:56

Основное отличие - «adduser» создаст домашнюю директорию & amp; добавьте файлы скелета в этот каталог, где «useradd» не будет создавать домашний каталог и amp; скелетные файлы!

adduser try:

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

useradd try1:

# 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#
3
ответ дан 24 May 2018 в 17:56

Другие вопросы по тегам:

Похожие вопросы: