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.