ОРГАНИЗАЦИЯ КОНТРОЛЯ ДОСТУПА В ОС UNIX
Владельцы файлов
Файлы в UNIX имеют двух владельцев: пользователя (user owner) и группу (group owner). Группой называется определенный список пользователей системы. Пользователь системы может быть членом нескольких групп, одна из которых является первичной (primary), остальные — дополнительными (supplementary).
Важной особенностью является то, что владелец-пользователь может не являться членом группы, владеющей файлом. Это дает гибкость в организации доступа к файлам. Совместное пользование файлами можно организовать практически для любого состава пользователей, создав соответствующую группу и установив для нее права на требуемые файлы. При этом для того чтобы некий пользователь получил доступ к этим файлам, достаточно включить его в группу, и наоборот - исключение из группы автоматически изменяет для пользователя права доступа к файлам.
Для определения владельца файла достаточно посмотреть подробный листинг команды ls –l. Третья и четвертая колонки содержат имена владельца-пользователя и владельца-группы соответственно:
1 2 3 4 5 6 7 8
-rw-r—r-- 1 andy group 235520 Dec 22 19:13 p1.txt
-rw-rwr-- 1 andy student 3450 Apr 1 12:00 joke
Владельцем–пользователем вновь созданного файла является пользователь, который создал файл. Порядок назначения владельца-группы зависит от версии UNIX. Например, в SCO UNIX владельцем-группой является первичная группа пользователя, создавшего файл, а в Digital UNIX владелец-группа наследуется от владельца группы - каталога, в котором создается файл.
Владение файлом определяет тот набор операций, который пользователь может совершить с файлом. Часть из них, такие как изменение прав доступа или владельца файла (табл. 17.1), может осуществлять только владелец (или суперпользователь), другие операции, такие как чтение, запись и запуск на выполнение (для исполняемых файлов) дополнительно контролируются правами доступа.
Операции изменения владельцев файла Таблица 17.1
Операция | Команда | Имеет право выполнить | |
В системе BSD | В системе SVR4 | ||
Изменение владельца - пользователя | chown | суперпользователь | Владелец файла |
Изменение владельца - группы | chgr | суперпользователь | Владелец файла только для группы, к которой сам принадлежит |