8.4. Создание учетной записи пользователя командой useradd

Проблема

Требуется добавить новых пользователей в систему Linux.

Решение

Воспользуйтесь командой useradd -m для создания имени пользователя, его домашнего каталога и других переменных окружения; затем назначьте пароль командой passwd -e. До создания пароля учетная запись остаётся неактивной.

Далее приводится простейший вариант вызова. С флагом -m команда создаёт домашний каталог и копирует в него файлы из /etc/skel:

# useradd -m имя пользователя

Как правило, в команду также включается полное имя пользователя с флагом -c (Comment, то есть «комментарий»). Поставьте четыре запятые после имени пользователя, чтобы остальные поля комментария (рабочий телефон и т. д.) остались пустыми:

# useradd -m -c "Grace Hopper" ghopper

Имя пользователя должно быть уникальным.

Теперь выполните команду passwd -e. Флаг -e означает, что пароль становится недействительным после первого входа, что заставляет пользователя сменить его:

# passwd -e ghopper
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

Окружение пользователя формируется на основании стандартного содержимого /etc/default/useradd и /etc/skel. Конфигурация useradd по умолчанию отображается командой:

# useradd -D

Любые значения по умолчанию могут переопределяться в командной строке — например, UID и командный процессор:

# useradd -u 1500 -s /bin/tcsh ghopper

Также существует возможность расширения стандартной конфигурации — например, включить пользователя в дополнительные группы:

# useradd -G users,cdrom,dialout ghopper

Комментарий

Команда useradd, в отличие от adduser, прекрасно работает в сценариях автоматизации (например, в сценарии mass_useradd из раздела 8.17).

Поля комментария также известны под названием данных GECOS. Данные GECOS состоят из пяти полей, разделённых запятыми. Если вы собираетесь использовать поле комментария, включите все четыре запятые, даже если значения соответствующих атрибутов не указываются. В долгосрочной перспективе это упростит управление пользователями, особенно при выполнении массовых операций и при поиске.

Традиционно в данные GECOS входит полное имя, номер комнаты, рабочий телефон, домашний телефон и дополнительная информация. Полное имя используется многими внешними программами, такими как почтовые серверы, однако другие поля можно использовать так, как вам удобно. Например, они могут помочь организовать произвольное разделение пользователей на группы и их сортировку.

GECOS — это устаревший компонент, сокращение от «General Electric Compliant Operating System». Он используется для хранения дополнительных данных о пользователе, и хотя его изначальная цель устарела, формат по-прежнему применяется для удобства администрирования.

См. также

useradd(8); Файл жаргона (http://www.catb.org/~esr/jargon/).