Конвертируем пользователя root в роль

23 Август 2010

Возможно, Вы обратили внимание при чтении статьи «Понимаем RBAC», что в OpenSolaris по-умолчанию root – это не пользователь, а роль. При попытке зайти в OpenSolaris пользователем root выдается сообщение: «Roles can only be assumed by authorized users». Пользователь root не сможет зайти в систему, что хорошо с точки зрения безопасности. Можно ли такое сделать в Solaris 10? Да, можно!

Конвертируем root в роль

Перед тем, как конвертировать пользователя root в роль, необходимо создать хотя бы одного обычного пользователя, которому будет назначена роль root. В противном случае можно совсем потерять доступ root к Solaris. Пользователь обязательно должен быть локальным, т.е. его учетные данные должны храниться в файлах, а не в LDAP или NIS. Пусть мы создали такого пользователя и назвали его manager.

Последовательность действий:

1. Заходим в систему под обычным пользователем. Если войти в систему пользователем root, перевести его в роль будет нельзя.

2. Становимся суперпользователем:

$ su - root
Password:
#

3. Конвертируем пользователя root в роль:

bash-3.00# usermod -K type=role root

4. Проверяем, что конвертация прошла успешно. В файле /etc/user_attr смотрим тип учетной записи root:

bash-3.00# grep root /etc/user_attr
root::::type=role;auths=solaris.*,solaris.grant;profiles=Web Console Management,All;lock_after_retries=no;clearance=admin_high;min_label=admin_low

5. Назначаем роль root пользователю:

bash-3.00# usermod -R root manager

Не  забудьте назначить роль root минимум одному пользователю! Иначе, потеряете доступ к root!

6. Заходим под обычным пользователем и активируем роль root:

$ id
uid=145(manager) gid=1(other)
$ su -
Password:
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005
#

Пароль роли root такой же, как был у пользователя root.

Можно попробовать активировать роль root от имени пользователя, которому она не назначена:

$ id
uid=126(andrey) gid=1(other)
$ su -
Password:
Roles can only be assumed by authorized users
su: Sorry
$

Вот Вам и дополнительное преимущество: пользователь не может стать root, если ему не назначена соответствующая роль, даже если он знает пароль root.

Обратная конвертация root в пользователя

С обратной конвертацией все намного проще. Надо выполнить всего одну команду:

# rolemod -K type=normal root

Проверяем, что root снова обычный пользователь (type=normal в файле /etc/user_attr):

# grep root /etc/user_attr
root::::type=normal;auths=solaris.*,solaris.grant;profiles=Web Console Management,All;lock_after_retries=no;clearance=admin_high;min_label=admin_low

После этого root становиться отдельным пользователем, способным самостоятельно зайти в систему. Любой пользователь, знающий пароль root, может с успехом выполнить su – root.

Single user mode

В Single user mode для доступа к системе нужен пароль root. При этом не имеет значения, пользователем или ролью является root.

Когда Вы перевели root в роль, то единственным способом зайти в систему от имени root становиться single user mode. Так что если Вы ошиблись с распределением ролей и остались без root доступа к системе, в single user mode это можно исправить.

Похожие записи:

  1. pfexec – удобная утилита Solaris
  2. Понимаем RBAC
  3. Создаем зеркало root диска на ZFS
  4. Подключение Alfresco к MySQL в Solaris 10
  5. Безопасность по умолчанию в Solaris, часть 1

Рубрики: Безопасность

Метки: , , Оставить комментарий

Оставить комментарий

Feed

http://solarisblog.ru / Конвертируем пользователя root в роль