useradd - это родной двоичный файл, скомпилированный с системой.
adduser - это Perl-скрипт, который использует useradd бинарный в фоновом режиме.
adduser более удобный и интерактивный, чем его бэкэнд useradd. Там нет никакой разницы в предоставляемых функциях.
Основным преимуществом adduser перед useradd является работа с пользователями системного уровня. С помощью adduser учетная запись пользователя системного уровня при создании помещает каталог пользователя в домашний каталог для системного пользователя, в котором useradd не работает автоматически. Они по существу одинаковы, за исключением пользователей системного уровня, и связанные домашние каталоги являются автоматическими. adduser автоматически создает каталог /home/user для пользователей системного уровня, где в useradd нет положения, за исключением случаев, указанных в опции -m. В других случаях, с которыми можно встретиться с этим, в целом утверждается, что UID и GUID назначаются в adduser принятыми конформными стандартами Debian.
Прежде всего, соответствующие фрагменты справочной страницы подчеркивают различия между двумя командами и дают некоторое представление о том, что происходит.
adduser:
adduser и addgroup добавляют пользователей и группы в систему в соответствии с параметрами командной строки и информацией о конфигурации в /etc/adduser.conf. Они являются более дружественными интерфейсами для низкоуровневых инструментов, таких как программы useradd, groupadd и usermod, по умолчанию выбирая значения UID и GID, совместимые с политикой Debian, создавая домашний каталог с конфигурацией скелета, выполняя собственный сценарий и другие функции.
useradd:
useradd - это утилита низкого уровня для добавления пользователей. В Debian администраторы обычно должны использовать вместо этого adduser.
Дальнейшее исследование adduser показывает, что это скрипт на Perl, обеспечивающий высокоуровневый интерфейс и, следовательно, предлагающий некоторые функциональные возможности следующих команд:
- useradd
- groupadd
- passwd - используется для добавления / изменения паролей пользователей.
- gpasswd - используется для добавления / изменения групповых паролей.
- usermod - используется для изменения различных пользовательских параметров.
- chfn - используется для добавления / изменения дополнительной информации, хранящейся у пользователя.
- chage - используется для изменения срока действия пароля.
- edquota - используется для изменения квот использования диска.
Основной прогон adduser команды выглядит следующим образом:
adduser username
Вы можете при помощи этой простой команды сделать несколько вещей:
- Создайте пользователя с именем username.
- Создайте домашний каталог пользователя (по умолчанию - /home/username и скопируйте в него файлы) /etc/skel.
- Создайте группу с тем же именем, что и пользователь, и поместите в нее пользователя.
- Подскажите пароль для пользователя.
- Запрашивайте дополнительную информацию о пользователе.
useradd
программа может выполнить большую часть этого, однако не делает это по умолчанию и требует дополнительных опций. Некоторая информация требует большего количества команд:
useradd -m -U username
passwd username
chfn username
Стоит обратить внимание, что это adduser гарантирует, что созданные UID и GID соответствуют политике Debian. useradd кажется, что создание нормальных пользователей в порядке, если UID_MIN/ UID_MAXв /etc/login.defs соответствует политике Debian. Однако проблема заключается в том, что Debian задает определенный диапазон для UID системных пользователей, который, по-видимому, поддерживается /etc/adduser.conf, поэтому наивное добавление системного пользователя useradd без указания UID / GUID в правильном диапазоне оставляет возможность для серьезных проблем.
Другое распространенное использование для adduser - упрощения процесса добавления пользователя в группу. Здесь следующая команда:
adduser username newgroup
заменяет более сложную usermod команду, которая требует указания групп, в которые пользователь уже входит (и в которых вы бы хотели, чтобы пользователь оставался участником):
usermod -G all,other,groups,user,is,in,newgroup
У adduser здесь есть один недостаток - вы можете указывать только одну группу за раз