Команда su позволяет использовать другой регистрационный счет. Администратор может ограничивать возможности использования этой команды. Например, пользователям обычно не дозволяется переключаться на счет администратора или корневой счет.
Список команд, разрешенных к использованию в системе с защитой данных, строго ограничен. Некоторые команды требуют специальной санкции администратора. В данном разделе рассматриваются различные типы разрешений и их влияние на возможности используемых команд.
В механизме защиты используются два уровня санкционирования: уровень ядра и уровень подсистемы. Санкционирование на уровне ядра включает в себя выдачу разрешений на запуск определенных процессов в данной операционной среде. Санкционирование на уровне подсистемы касается выполнения определенных команд в подсистеме с защитой данных.
Команды санкционирования на уровне ядра:
execsuid Позволяет запускать SUID-программы. SUID-программа получает доступ ко всем файлам, процессам и ресурсам, принадлежащим пользователю, который запустил программу, или владельцу программного файла.
nopromain Определяет поведение SUID-программы. Если разрешение данного типа установлено, SUID-программы запускаются, как в традиционных UNIX-подобных системах. В противном случае создается т.н. промен (promain - от "protected domain", что означает "защищенный домен"), в котором программы имеют меньше возможностей разрушить или использовать принадлежащие вам данные.
chmodsugid Позволяет с помощью команды chmod менять атрибуты setuid и setgid для файла или каталога.
chown Позволяет с помощью команды chown производить смену владельцев файлов.
На уровне подсистемы имеются два подуровня санкционирования: первичный и вторичный. На первичном подуровне выдается разрешение на использование команд с присвоением привилегий администратора. Все эти привилегии полностью описаны в руководстве администратора (Administrator's Guide). Простым пользователям могут быть переданы следующие привилегии:
mem Разрешение использования команды ps для проверки статуса выполнения процессов, принадлежащих другим пользователям, и команды ipcs для исследования статуса взаимодействия процессов. Пользователи, не имеющие указанного разрешения, могут наблюдать только за своими собственными процессами.
terminal Разрешение использования команды write для осуществления связи с другими пользователями. При отсутствии указанного разрешения команда write преобразует все содержащиеся в сообщении управляющие коды и esc-последовательности в символы ASCII.
На вторичном подуровне выдается разрешение на использование команд подсистемы без передачи привилегий администратора. Вторичные полномочия включают в себя:
printqueue Разрешение на просмотр очереди заданий, запущенных другими пользователями и ожидающих вы вода на печать.
printerstat Разрешение использования команд enable и disable для изменения статуса печатающего устройства.
queryspace Разрешение использования команды df для получения информации об об'емах пространства, принадлежащего различным файловым системам.
Обратите внимание на то, что на уровне подсистемы разрешение на смену регистрационного счета командой su не выдается.