Определить права доступа к файлу - значит определить для каждого пользователя набор операций, которые он может применить к данному файлу. В разных файловых системах может быть определен свой список дифференцируемых операций доступа. Этот список может включать следующие операции:
1)создание файла,
2)уничтожение файла,
3)открытие файла,
4)закрытие файла,
5)чтение файла,
6)запись в файл,
7)дополнение файла,
8)поиск в файле,
9)получение атрибутов файла,
10)установление новых значений атрибутов,
11)переименование,
12)выполнение файла,
13)чтение каталога и другие операции с файлами и каталогами.
В самом общем случае права доступа могут быть описаны матрицей прав доступа, в которой столбцы соответствуют всем файлам системы, строки - всем пользователям, а на пересечении строк и столбцов указываются разрешенные операции.
Матрица прав доступа
Имена файлов
r.exe
y.txt
c.dpf
читать
выполнять
-
выполнять
Имена пользователей
читать
выполнять
-
выполнять, читать
читать
-
-
выполнять, читать
читать, писать
-
создать
-
В некоторых системах пользователи могут быть разделены на отдельные категории. Для всех пользователей одной категории определяются единые права доступа. Например, в системе UNIX все пользователи подразделяются на три категории:
· владельца файла;
· членов его группы;
· всех остальных.
Различают два основных подхода к определению прав доступа:
· избирательный доступ, когда для каждого файла и каждого пользователя сам владелец может определить допустимые операции;
· мандатный подход (обязательный, принудительный), когда система наделяет пользователя определенными правами по отношению к каждому разделяемому ресурсу (в данном случае файлу) в зависимости от того, к какой группе пользователь отнесен.