Intereting Posts
GNU Параллельно обрабатывает несколько файлов параллельно в Unix с bash Какой сценарий отвечает за сбор общего ресурса HGFS на гостевом компьютере Ubuntu 16.04, работающем на хосте Windows в VMWare Workstation 12? Сервис прослушивается на порту, брандмауэр не включен, но порт закрывается при попытке подключения извне Как я могу отправлять уведомления в свою строку состояния? получать сигнал до того, как процесс будет убит убийцей / группами OOM Почему не будет скручивать эту ссылку, когда браузер будет? Как подключить и выполнить передачу данных на мобильный с встроенной платы linux с помощью bluez? Сохраните AWK FNR как переменную Bash, чтобы продолжить поиск из строки Как сравнивать каталоги с двоичными файлами Как / где установлены возможности устройства Linux / битовые поля? управление мощностью radeon Lightdm greeter: не работает внутри диспетчера дисплеев, XDG_SEAT_PATH не определен Проверка прав на файл профиля в домашнем каталоге: должно ли это быть сделано? Начальный экран без экрана приветствия Byobu – Новое окно с той же сессией ssh?

Что делает adduser для этого useradd?

В дополнение к более широкому пользовательскому интерфейсу, системы на базе Debian также содержат дополнительную команду adduser которая обеспечивает интерфейс более высокого уровня для добавления пользователей и некоторых связанных с ними задач. На других сайтах SE есть различные вопросы / ответы, в которых подробно описаны основные различия между этими командами, например:

  • ServerFault – В чем разница между «useradd» и «adduser»?
  • Superuser – В чем разница между «adduser» и «useradd»?
  • Спросите Ubuntu – В чем разница между adduser и useradd?

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

  1. Что делает adduser этого useradd ?
  2. Какие команды мне нужно использовать для получения эквивалентных результатов?

Во-первых, соответствующие фрагменты справочной страницы подчеркивают различия между двумя командами и дают некоторые указания на то, что происходит. Для adduser :

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

Затем для useradd :

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

Дальнейшее исследование adduser показывает, что это perl-скрипт, обеспечивающий интерфейс высокого уровня и, следовательно, предлагающий некоторые из функций следующих команд:

  • useradd
  • groupadd
  • passwd – используется для добавления / изменения паролей пользователей.
  • gpasswd – используется для добавления / изменения групповых паролей.
  • usermod – используется для изменения различных параметров, связанных с пользователем.
  • chfn – используется для добавления / изменения дополнительной информации, хранящейся у пользователя.
  • chage – используется для изменения информации об истечении срока действия пароля.
  • edquota – используется для изменения квот использования диска.

Базовый запуск команды adduser выглядит следующим образом:

 adduser username 

Эта простая команда сделает несколько вещей:

  1. Создайте имя пользователя с именем username .
  2. Создайте домашний каталог пользователя (по умолчанию /home/username и скопируйте файлы из /etc/skel в него.
  3. Создайте группу с тем же именем, что и пользователь, и поместите в нее пользователя.
  4. Запросить пароль для пользователя.
  5. Запросить дополнительную информацию о пользователе.

Программа 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 заключается в том, что вы можете указывать только одну группу за раз.

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

Системный администратор может делать все с помощью useradd, которое может быть выполнено с помощью adduser. Здесь было указано, что вы не можете создать каталог / home / user для пользователей системы с помощью useradd, и вы абсолютно можете, изменив файлы, содержащиеся в файле / etc / skel. / etc / skel содержит набор файлов, изначально используемых для заполнения домашнего каталога нового пользователя.