3.2. Права доступа

FreeBSD исторически развивалась из BSD UNIX, и основывается на некоторых ключевых концепциях UNIX. В первую очередь это, конечно, тот факт, что FreeBSD - многопользовательская операционная система. Это означает, что несколько пользователей могут работать одновременно, решая различные задачи и совершенно не мешая друг другу. На системе лежит ответственность за правильное разделение и управление такими ресурсами как память, процессорное время, периферийные устройства и прочее.

Многопользовательность предполагает наличие механизма регулирования прав доступа к любому ресурсу в системе. Существует три типа прав доступа: на чтение, запись и исполнение. Права сгруппированы три по три, соответственно чтение/запись/выполнение для владельца/группы/всех остальных. Численное представление:

ЗначениеПрава доступаСписок файлов каталога
0Ничего не разрешено---
1Нельзя читать и писать, разрешено исполнять--x
2Нельзя читать и исполнять, разрешено писать-w-
3Нельзя читать, разрешено писать и исполнять-wx
4Разрешено читать, нельзя писать и исполнятьr--
5Разрешено читать и исполнять, нельзя писатьr-x
6Разрешено читать и писать, нельзя исполнятьrw-
7Разрешено всеrwx

Чтобы увидеть права доступа, можно воспользоваться командой ls -l. Формат вывода этой команды следующий:

    -rw-r--r--

Первый символ показывает тип файла: обычный файл, директория, символьное или блочное устройство, ссылка или другой объект. Следующие три символа (в данном случае это rw-) задают права доступа владельца файла. Затем идут права группы, которой принадлежит файл (r--). Последняя тройка (r--) определяет права для всех остальных. Минус означает отсутствие каких-либо прав (т.е. нельзя ни читать, ни писать, ни выполнять). В данном случае права установлены таким образом, что владелец может читать и писать в в файл, а группа и другие может только читать. Таким образом, численное представление прав будет 644.

Права на устройства контролируются аналогичным образом. Во FreeBSD все устройства представлены в виде файлов, которые можно открывать, читать и писать в них. Эти специальные файлы содержаться в директории /dev.

Директории также являются специальными файлами, и к ним применимы те же права на чтение, запись и выполнение. Правда, в данном случае ``выполнение'' имеет несколько другой смысл. Когда директория помечена как ``исполнимая'', это означает, что можно получить список файлов в ней, ``зайти'' в нее.

На самом деле, про права доступа можно рассказать еще много интересного, например, про setuid-бит на выполняемые файлы и так называемый sticky-бит на директории. За дополнительными сведениями по этому вопросу обращайтесь к страницам системного справочника man (chmod(1)).