дальнейшем можно трактовать как идентификатор
дальнейшем можно трактовать как идентификатор владельца вновь
созданного файла. Во-вторых, с каждый процессом, пытающимся
получить некоторый доступ к файлу, связана пара идентификаторов -
действующие идентификаторы пользователя и его группы. В-третьих,
каждому файлу однозначно соответствует его описатель - i-узел.
На последнем факте стоит остановиться более подробно. Важно
понимать, что имена файлов и файлы как таковые - это не одно и то
же. В частности, при наличии нескольких жестких связей с одним
файлом несколько имен файла реально представляют один и тот же
файл и ассоциированы с одним и тем же i-узлом. Любому
используемому в файловой системе i-узлу всегда однозначно
соответствует один и только один файл. I-узел содержит достаточно
много разнообразной информации (большая ее часть доступна
пользователям через системные вызовы stat и fstat), и среди этой
информации находится часть, позволяющая файловой системе оценить
правомочность доступа данного процесса к данному файлу в
требуемом режиме.
Общие принципы защиты одинаковы для всех существующих вариантов
системы: Информация i-узла включает идентификаторы текущего
владельца файла (немедленно после создания файла идентификаторы
его текущего владельца устанавливаются соответствующими
действующим идентификатором процесса-создателя, но в дальнейшем
могут быть изменены системными вызовами chown и chgrp). Кроме
того, в i-узле файла хранится шкала, в которой отмечено, что
может делать с файлом пользователь - его владелец, что могут
делать с файлом пользователи, входящие в ту же группу
пользователей, что и владелец, и что могут делать с файлом
остальные пользователи.
Мелкие детали реализации в разных вариантах системы различаются,
однако в целом именно такова общая картина защиты файлов в ОС
UNIX.
Содержание Назад Вперед