Зачем нужно ролевое управление доступом
Слабым местом систем UNIX с давних пор была невозможность делегировать часть полномочий системного администратора другим пользователям. Мы хорошо знаем, как передаются полномочия в системах Windows: существуют предопределенные группы, которым дано право выполнять некоторые определенные администраторские действия (Printer Operator, Backup Operator и т.п.). В UNIX для делегирования части администраторских прав в свое время использовалась программа sudo. Второй выход заключался в том, чтобы установить в правах доступа к некоей административной программе типа useradd бит SUID, чтобы доверенный пользователь мог запустить ее от имени владельца, т.е. пользователя root.
Оба этих решения не являются совершенными: некоторые виды операций трудно выполнить, имея право запуска отдельных программ. Например, управление учетными записями пользователей не ограничивается их добавлением, и разрешения запускать useradd недостаточно для доверенного пользователя, чтобы помогать системному администратору во всем, что связано с управлением пользователями.
В Solaris, начиная с версии 8, была введена новая для UNIX система управления доступом - RBAC (Role-Based Access Control). Основанное на ролях управление доступом имеет такую же функциональность, как разнообразие групп с некоторыми административными правами в Windows. Смысл его в том, что любому пользователю может быть назначена роль. Ответственность и право выполнения части администраторских функций делегированы роли, и пользователь имеет право ее играть.