13.0 (Russian conspect)
Лекция №13
Что делать, если мы хотим выполнить какое-то действие, которое обычному пользователю не доступно?
Те использовать программу использующую технологию SetToIt - su, umount и тд.
Эти программы решают по каким-то признакам имеет ли пользователь вообще право на эти изменения. Например у программы su есть условие запуска, запускать ее может только -rws(тот кто ее запустит сделает это с помощью прав суперпользователя)--x(разрешено использовать тем, кто состоит в группе содержащий этот файл)--остальным нельзя). Есть еще практика раздачи прав использования программ другим - SetGid. Другие: SetGid Directory Traversal Trusted Computing Base(TCB) Если задуматься – не нужно хранить все пароли в одном и том же файле. Никогда не бывает нужно, что бы все пароли лежали в одном файле. Специфика дистрибутивов сообщества Линукс, которая заключается в том, что допустим: control это такой shell скрипт, который делает следущее: если у вас есть утилита маунт (например) и эта утилита в рамках вашей системы может существовать в 4 ипостасях: Утилита sodu Она позволяет запустить конкретному пользователю или конкретной группе пользователей, или конкретной категории пользователей, описанной в терминах языка конфигурации sodu, какое-то действие выполнить с правами другого пользователя. Чтобы редактировать файл sodu есть специальная программа visodu, которая запускает системную операцию edit. Polkit – это API для программ, который позволяет по запросу со стороны пользователя узнать: первое(1) - имеет ли право пользователь этот запрос выполнить и второе(2) – выполнить этот запрос. Роли распространяются так: есть authentication agent, который занимается (1) и (2) вопросами. Polkit выполняет (1) разрешить или нет? Если да, то запускает механизм Если нет, ничего не запускаем SELinux – это самый популярный контроль доступа. Сначала проверяются обычные права, а потом в ядре Линукс, где существует специальное правило, соответствующее требованиям описания безопасности, которые определяют какие-то классы пользователей, какие-то категории секретности, уровни секретности и в зависимости от всех этих параметров либо выдает право доступа, либо не выдает.