В Linux есть две известные команды для управления пользователями: useradd & adduser.
Так в чем же разница? Одна из них лучше другой? Какую из них вы должны использовать? Useradd или Adduser?
Useradd – это встроенная команда Linux, которую можно найти в любой системе Linux. Однако создание новых пользователей с таким низким уровнем является утомительной задачей.
Adduser не является стандартной командой Linux. По сути, это сценарий Perl, который использует команду useradd в фоновом режиме. Эта высокоуровневая утилита более эффективна для правильного создания новых пользователей в Linux. Параметры по умолчанию для всех новых пользователей также можно установить с помощью команды adduser.
Давайте рассмотрим обе эти команды и то, как они создают пользователей в Linux.
Во-первых, давайте посмотрим на поведение команды useradd по умолчанию. Вы когда-нибудь запускали следующую команду?
useradd NewUser
Мы еще не видели дистрибутив, где эта команда создала полную учетную запись пользователя. Даже после установки пароля для нового пользователя вам потребуется использовать дополнительные параметры.
Например, в нашей системе указанная выше команда добавила следующую запись в файл /etc/passwd.
Если вы читали статью о перечислении пользователей в Linux, вы, вероятно, уже знакомы с содержанием файла /etc/passwd. Сначала это выглядит хорошо, но если вы начнете копать, вы скоро заметите, что некоторые вещи не совсем правильные.
Во-первых, второе поле содержит «х». Это означает, что заполнитель для информации о пароле находится в /etc/shadow. Но мы не установили пароль. Это означает, что тестовый пользователь не сможет войти в систему.
Во-вторых, домашний каталог. Дело в том, что /home/test не существует. Даже после того, как вы установили пароль, произойдет ошибка, если пользователь войдет в систему. В зависимости от другой конфигурации ваша система Linux может запретить пользователю входить без действительного домашнего каталога. Скорее всего, пользователь test позволит войти в систему, по крайней мере, в текстовом режиме. Но пользователь test не сможет создать свой домашний каталог.
В-третьих, оболочкой по умолчанию является sh, а не bash. Мы не используем sh как оболочку. Вы, вероятно, тоже не знаете, потому что bash является оболочкой по умолчанию в большинстве дистрибутивов Linux.
В то время как useradd-х поведение можно немного изменить, отредактировав /etc/login.defs, существует мало шансов, что приведенная выше команда создаст полную учетную запись пользователя. Useradd является низкоуровневая утилита. Тем не менее, просмотр настроек в /etc/login.defs может быть полезен.
Adduser недоступен. в некоторых дистрибутивах Linux. На других это мягкая ссылка на useradd. В то время как на некоторых других, это сценарий Perl.
Adduser – это интерактивная утилита высокого уровня. В качестве бэкэнда используется утилита низкого уровня useradd. Настройки в /etc/login.defs будут использоваться при использовании adduser. На дистрибутивах, основанных на Debian, даже страница man рекомендует использовать его с помощью команды useradd.
Вызов adduser только с именем пользователя проведет вас через ряд вопросов.
После ответа на несколько вопросов будет создана полная учетная запись пользователя. Новый пользователь готов войти через ваш менеджер входа в систему или в текстовом режиме.
Чтобы достичь почти того же результата с помощью низкоуровневой утилиты useradd, команда должна выглядеть примерно так:
sudo useradd -d /home/test -m -s/bin/bash \ -c FullName,Phone,OtherInfo test && passwd test
В опции -с могут быть удалены без проблем, то разделенный запятыми список, который следует будут добавлены комментарии к /etc/passwd. Но даже тогда adduser сохраняет две дополнительные команды.
У Adduser есть список доступных вам опций. Вот короткий список, который, я думаю, будет наиболее полезно узнать. Обратитесь к справке или справочной странице для получения более подробной информации.
Файл конфигурации AddUser позволяет установить значения по умолчанию, которые будут использоваться при создании учетной записи. Файл хорошо документирован и позволяет устанавливать значения по умолчанию, такие как:
По нашему личному опыту, adduser намного лучше создает новых пользователей в Linux. Мы предпочитаем adduser, чем useradd.
Как насчет вас? Какую из этих команд вы предпочитаете, adduser и useradd?
[* Shield Security плагин пометил этот комментарий как “Pending Moderation”. Причина: Человеческий СПАМ-фильтр выявил “mail.ru” в “author_email” *]
Спасибо тебе мил человек, это действительно ценная информация!
Какая связь Shield Security и mail.ru?
В Fedora 32, команда Adduser не проводит по шагам мастера с пошаговым заполнением полей как тут описано. А сразу делает пользователя без единого вопроса.