Solaris OpenIndiana RBAC
RBAC (Role Based Access Control) – это инструмент для разграничения прав доступа по средствам назначения ролей.
Сама по себе роль – это полномочия и права доступа, которые могу быть активированы. Также в RBAC помимо ролей существуют такие понятия как профили прав и авторизации.
Профиль прав – содержит в себе набор прав для запуска команд и приложений, с определенными привилегиями.
Авторизация – предоставляет доступ к RBAC совместимым приложениям.
Чтобы посмотреть есть ли у пользователя назначенные роли необходимо выполнить команду roles.
Пример:
bash-3.00# roles root
No roles
Создание роли
Для создания роли используется команда roleadd. Команда создает в файлах /etc/passwd, /etc/shadow и /etc/user_attr запись с информацией о созданной роли.
Основные параметры команды:
-c comment описание роли
-d dir домашний каталог для роли
-m создает домашний каталог для роли, если он не создан
-P profile присвоение роли профилей прав
Пример:
# roleadd -m -d /export/home/test_role -c "This role for test" -P "Media Backup,Media Restore" tstrol
Чтобы использовать роль необходимо задать для нее пароль:
bash-3.00# passwd tstrol
New Password:
Re-enter new Password:
passwd: password successfully changed for tstrol
Изменение ролей
Команда rolemod позволяет изменять указанную роль
Основные параметры команды:
-P profile изменение в роли профилей прав
-e expire срок окончания действия роли
-l login_name новое имя для роли
-s shell командная оболочка, используемая для роли
Пример:
bash-3.00# rolemod -l test_role -s /usr/bin/bash tstrol
Назначение роли:
Для назначения роли используются команды useradd и usermod с параметром –R.
Пример создания пользователя и назначения ему роли:
# useradd -m -d /export/home/backup_usr -R test_role bckpusr
64 blocks
bash-3.00# passwd bckpusr
New Password:
Re-enter new Password:
passwd: password successfully changed for bckpusr
Пример добавления роли к существующей учетной записи:
bash-3.00# usermod -R test_role adm
Использование назначенной роли необходимо переключиться на неё используя команду su
Пример:
bash-3.00# su - bckpusr
$ roles
test_role
$ su test_role
Авторизации
Авторизации могут быть присвоены учетным записям пользователей, ролям, могут быть прописаны в профиле прав.
Для просмотра авторизаций назначенных пользователю используется команда auths.
Пример:
bash-3.00$ auths root
solaris.*
bash-3.00$ auths adm
....
Назначение авторизаций ролям:
roleadd -m -d /export/home/adm_role -A "solaris.admin.*" admrole
64 blocks
Чтобы назначить авторизации в профили прав можно включить предустановленные авторизации из файла /etc/security/auth_attr добавив их в файл /etc/security/prof_attr . Далее данный профиль можно назначить пользователю (usermod –P)