Европейский Университет в Санкт-Петербурге
Опубликован: 10.10.2005 | Доступ: свободный | Студентов: 1716 / 298 | Оценка: 4.30 / 3.85 | Длительность: 16:22:00
ISBN: 978-5-94774-820-8
Лекция 4:

Установка ОС Solaris и управление пользователями

< Лекция 3 || Лекция 4: 12345 || Лекция 5 >

Программы управления учетными записями пользователей

Для управления учетными записями можно использовать программу admintool при работе в графическом режиме или программы useradd, usermod, userdel, groupadd, groupmod, groupdel в текстовом режиме или в окне терминала.

admintool

Программа admintool является устаревшей, и в системах Solaris 9 и в более поздних, начиная с мая 2002 года, ее может просто не быть. Вместо нее рекомендуется использовать Solaris Management Console (SMC). Однако, в доступных нам версиях Solaris программа admintool вполне способна работать и может оказаться удобной, поэтому здесь мы коротко рассмотрим ее функции. Подробнее программа Solaris Management Console рассматривается в "лекции 16" курса "Администрирование ОС Solaris".

Программа admintool предназначена для управления пользователями, группами, принтерами, последовательными портами (serial ports), для назначения имени и IP-адреса компьютера (фактически - редактирования файла /etc/hosts) и управления ПО. Последняя функция в admintool в Solaris 9 x86 не всегда поддерживается, но поддерживалась в версиях до Solaris 8 включительно.

Для управления пакетами ПО следует использовать программу prodreg (запускается в графическом режиме), которая служит полноценным интерфейсом для установки и удаления пакетов программ, управляя Solaris Product Registry - базой данных об установленных продуктах.

Для запуска программы следует набрать admintool& в окне терминала при работе в графической среде. В текстовой среде admintool не работает.

Тип объектов, которыми вы собираетесь управлять с помощью admintool, следует выбрать в пункте меню Browse (рис. 4.1):

Действия, которые можно совершить с выбранным объектом, доступны через пункт меню Edit. Можно добавить или удалить объект, или изменить его свойства.

Например, можно установить любые свойства учетной записи пользователя, которые перечислены выше, при рассмотрении формата файлов /etc/passwd, /etc/shadow и /etc/group.

Фактически, любая программа управления учетными записями, будь то admintool, Solaris Management Console или любая другая программа, для работы со свойствами пользователя в графическом режиме все равно вызывает простые системные программы с интерфейсом командной строки для выполнения любых операций со свойствами пользователя. В Solaris для создания новой учетной записи пользователя (добавления пользователя в систему) используется программа useradd, для модификации учетной записи пользователя - usermod, для удаления учетной записи - userdel.

Окно программы admintool

Рис. 4.1. Окно программы admintool

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.

Упражнения

  1. Добавьте учетную запись пользователя lover с помощью useradd. В какую группу попал пользователь lover? Изменился ли файл /etc/group? Объясните, почему.
  2. Удалите учетную запись lover с помощью admintool.
  3. Добавьте пользователя hardworker в группу staff с помощью admintool. Удалось ли добавить пользователя с таким именем? Если нет, выясните причину и, если потребуется, измените вызвавшее проблему условие.
  4. Измените главную группу этого пользователя на other, но сохраните его в качестве члена группы staff. Пришлось ли внести какие-то изменения в файл /etc/group?
  5. Изучите содержимое файла /etc/shadow. Установите новый пароль какому-нибудь пользователю. Изменилось ли содержимое /etc/shadow? А файла /etc/passwd?
< Лекция 3 || Лекция 4: 12345 || Лекция 5 >