Организация UNIX-систем и ОС Solaris

Useradd


Для добавления нового пользователя следует выполнить команду useradd:

При этом пользователь попадает в группу other, если явно не указано иное. Эта группа имеет идентификатор 1.

При добавлении пользователя в Solaris происходит добавление соответствующей строки в файлы /etc/passwd, /etc/shadow и /etc/user_attr. Первые два файла нам уже знакомы. Последний служит для записи дополнительных атрибутов пользователя. Он используется только в Solaris, в других системах UNIX такого файла нет. К дополнительным атрибутам относятся административные права, данные этому пользователю, перечень ролей, назначенных ему, и указание на то, является ли эта учетная запись пользователя информацией о реальном пользователе или информацией о роли. Более подробно о ролях говорится в лекции 11 курса "Администрирование ОС Solaris", для получения детальной информации о /etc/user_attr - следует изучить man по user_attr.

По умолчанию useradd добавляет учетную запись пользователя в файлы /etc/passwd и /etc/shadow. Кроме этого, при указании ключа -G запись о пользователе помещается в /etc/group в строку тех групп, которые указываются в качестве дополнительных для него. С помощью ключа -m можно указать, что для пользователя следует создать домашний каталог.

Новые учетные записи пользователей остаются блокированными до тех пор, пока пользователю не будет назначен пароль с помощью программы passwd.

Имя пользователя или роли не может быть длиннее 8 символов и должно содержать только латинские символы, цифры, точку, знак подчеркивания и дефис. Точка является допустимым символом не для всех систем UNIX, поэтому ее не рекомендуется использовать в Solaris в целях совместимости, хотя это требование не является жестким. Первый символ имени должен быть буквой, и по крайней мере одна буква в имени должна быть буквой нижнего регистра.

Следующие ключи изменяют значения свойств учетной записи пользователя, которые задаются по умолчанию в отсутствие этих ключей:

  • -b base_dir - каталог, в котором должен быть создан домашний каталог пользователя; не требуется указывать, если используется ключ -d;
  • -c comment - поле GECOS общей информации о пользователе, как минимум, следует указать полное имя пользователя;
  • -d dir - домашний каталог пользователя; по умолчанию создается в каталоге /home и носит то же имя, что и пользователь (для пользователя lena создается домашний каталог /home/lena);

  • -D - показать значения по умолчанию для группы, системного каталога для домашних каталогов, каталога базовых пользовательских файлов конфигурации, командного процессора и ряда других свойств. Значения по умолчанию, принятые в системе, перечислены в таблице 4.1.

    Таблица 4.1. Значения свойств учетной записи пользователя по умолчанию
    ГруппаOther (GID =1)
    Каталог с домашними каталогами пользователей/home
    Командный процессор/bin/sh
    Профильне назначается
    Рольне назначается
  • -e expire - дата истечения срока действия учетной записи; формат даты определен, как указано в man 3C getdate; по умолчанию не задано, после наступления этой даты пользователь не сможет войти в систему; используется для создания учетных записей временных сотрудников или гостей;
  • -f inactive - максимальное число дней, в течение которых пользователь может не входить в систему, по истечении этого срока учетная запись блокируется; удачное решение для забывчивых системных администраторов, которые не удаляют учетные записи при увольнении сотрудника, позволяет бороться с накоплением "мертвых душ" в системе;
  • -g group - группа пользователя, по умолчанию - other; подробности настройки групп по умолчанию - в man useradd;
  • -k skel_dir - каталог с базовыми пользовательскими файлами конфигураций, указанный каталог должен существовать, копии всех содержащихся в нем файлов будут помещены в домашний каталог нового пользователя. По умолчанию - /etc/skel;
  • -m - требует создать домашний каталог нового пользователя; если каталог уже есть, у главной группы пользователя должно быть право на чтение, запись и поиск в этом каталоге (права доступа к файлам и каталогам обсуждаются в лекции 6);
  • -o- разрешить пользователю иметь UID, совпадающий с UID существующего пользователя; может применяться для дублирования учетной записи root. Это может понадобиться для того, чтобы от имени пользователя root входить в систему только в экстренных случаях, а обычно пользоваться другой учетной записью. Во FreeBSD для этого по умолчанию предоставляется учетная запись toor (root наоборот). Это может быть удобно для назначения администратору командного процессора, отличного от /bin/sh, например /usr/local/bin/bash. Назначить такой командный процессор пользователю root нельзя, т.к. его командный процессор должен работать даже тогда, когда доступна только файловая система /, а /usr даже не смонтирована;
  • -s shell - полное имя файла, который будет назначен пользователю в качестве командного процессора при входе в систему; файл должен существовать;
  • -u uid - явное указание значения UID.




Ряд ключей, служащих для управления ролями, обсуждается в лекции 11 курса "Администрирование ОС Solaris".

Для изменения свойств пользователя следует запускать программу usermod. Ее синтаксис предполагает явное задание изменяемого свойства, а не интерактивное взаимодействие. При запуске без ключей только с указанием имени пользователя, чью учетную запись мы намерены изменить, программа usermod выдает сообщение об ошибке и краткую подсказку по использованию:

usermod ivan UX: usermod: ERROR: Invalid syntax. usage: usermod -u uid [-o] | -g group | -G group[[,group]...] | -d dir [-m] | -s shell | -c comment | -l new_logname | -f inactive | -e expire -A authorization [, authorization ...] | -P profile [, profile ...] | -R role [, role ...] login

Для удаления пользователя используйте userdel.

Для добавления группы следует использовать groupadd, для удаления - groupdel; для изменения учетной записи группы - groupmod.


Содержание раздела