Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
n g – групповая роль;
n G – роль может использовать gradm для аутентификации в ядре, ACL для gradm добавляется автоматически;
n T – включает TPE для роли;
n l – режим обучения роли.
Как вы могли заметить, роль может быть 3 типов – пользовательская, групповая и специальная. Пользовательская роль может быть описана для любого системного пользователя, соответственно групповая – для любой системной группы. Например, если bind запускается из-под пользователя named, то для его корректной работы необходимо описать пользовательскую роль:
role named u
Если в системе присутствуют системные почтовые поль-зователи, состоящие в группе users, то для корректной работы почты необходимо описать групповую роль:
role users g
Пользовательская и групповая роли не требуют ввода пароля, достаточно, чтобы процесс был запущен от имени конкретного пользователя или группы.
Специальная роль – это роль, предназначенная для выполнения каких-либо работ. Для доступа к ней необходимо ввести пароль. После успешной авторизации права будут повышены до прав, определенных этой ролью.
Роль может быть ограничена списком IP-адресов:
role_allow_ip IP/netmask
role_allow_ip 192.168.1.0/24
Этих директив в пределах роли может быть сколько угодно. При входе пользователя в систему используется следующая последовательность выбора и применения роли: пользовательская –> групповая –> default. Соответственно, если не находится пользовательская роль, то применяется групповая. Если и её нет, то применится роль по умолчанию (default).
Директива role_transitions служит для определения специальных ролей, к которым можно получить доступ из данной роли:
role_transitions <special role 1> <special role 2> <special role 3>
Любая программа, входящая в роль, называется субъектом (subject). Описания субъектов называются ACL – Access Control List.
Субъекты бывают обычными:
subject /bin/su {
......
}
и вложенными (nested):
subject /bin/su:/bin/bash:/bin/cat {
..........
}
Вложенный субъект используется в том случае, когда необходимо указать последовательность запуска. В данном случае привилегии будут вручены программе /bin/cat, если она будет запущена из /bin/bash, которая в свою очередь будет запущена из /bin/su.
Вложенные субъекты поддерживают наследование, т.е. вложенный субъект /bin/su:/bin/bash:/bin/cat будет наследовать правила /bin/su:/bin/bash и /bin/su. Они полезны при написании ACL для программ типа sarg – анализатора логов прокси-сервера squid. Дело в том, что sarg при создании отчета использует стандартные утилиты – sort, grep, mkdir, cp, rm и т. д. Соответственно sarg вызывает оболочку (shell, в моем случае – bash), которая в свою очередь вызывает эти утилиты. Чтобы вызов был успешным, необходимо в ACL для bash прописать разрешение на выполнение этих утилит. Но в таком случае их смогут использовать все кому не лень, что сводит на нет все усилия по обеспечению безопасности. Для решения этой проблемы и применяются вложенные субъекты:
subject /usr/bin/sarg:/bin/bash {
/ r