Конвертируем пользователя 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 это можно исправить.
Похожие записи:
- pfexec – удобная утилита Solaris
- Понимаем RBAC
- Создаем зеркало root диска на ZFS
- Подключение Alfresco к MySQL в Solaris 10
- Безопасность по умолчанию в Solaris, часть 1
Рубрики: Безопасность


