FreeBSD является прямым потомком BSD Unix и основывается на некоторых ключевых концепциях Unix. В первую очередь это, конечно, тот факт, что FreeBSD - многопользовательская операционная система. Это означает, что несколько пользователей могут работать одновременно, решая различные задачи и совершенно не мешая друг другу. На системе лежит ответственность за правильное разделение и управление такими ресурсами как память, процессорное время, периферийные устройства и прочее.
Многопользовательность предполагает наличие механизма регулирования прав доступа к любому ресурсу в системе. Существует три типа прав доступа: на чтение, запись и исполнение. Права сгруппированы три по три, соответственно чтение/запись/выполнение для владельца/группы/всех остальных. Численное представление:
Значение | Права доступа | Список файлов каталога |
---|---|---|
0 | Ничего не разрешено | --- |
1 | Нельзя читать и писать, разрешено исполнять | --x |
2 | Нельзя читать и исполнять, разрешено писать | -w- |
3 | Нельзя читать, разрешено писать и исполнять | -wx |
4 | Разрешено читать, нельзя писать и исполнять | r-- |
5 | Разрешено читать и исполнять, нельзя писать | r-x |
6 | Разрешено читать и писать, нельзя исполнять | rw- |
7 | Разрешено все | rwx |
Чтобы увидеть права доступа, можно воспользоваться опцией -l команды ls(1). Формат вывода этой команды следующий (первая колонка):
-rw-r--r--
Первый (считать слева) символ показывает тип файла: обычный файл, директория, символьное или блочное устройство, ссылка или другой объект. В нашем случае это -, то есть обычный файл. Следующие три символа (в данном случае это rw-) задают права доступа владельца файла. Затем идут права группы, которой принадлежит файл (r--). Последняя тройка (r--) определяет права для всех остальных. Минус означает отсутствие каких-либо прав (т.е. нельзя ни читать, ни писать, ни выполнять). В данном случае права установлены таким образом, что владелец может читать и писать в в файл, а группа и другие может только читать. Таким образом, численное представление прав будет 644.
Права на устройства контролируются аналогичным образом. Во FreeBSD все устройства представлены в виде файлов, которые можно открывать, читать и писать в них. Эти специальные файлы содержаться в директории /dev.
Директории также являются специальными файлами, и к ним применимы те же права на чтение, запись и выполнение. Правда, в данном случае "выполнение" имеет несколько другой смысл. Когда директория помечена как "исполнимая", это означает, что можно "зайти" в нее (например, с помощью команды cd). Это также означает, что в этой директории можно получить доступ к файлам, имена которых известны (конечно, если собственные права на файл разрешают такой доступ).
Если же требуется получить список файлов в некоторой директории, права доступа на нее должные включать доступ на чтение. Для того, чтобы удалить какой-либо файл в директории, на нее должны быть даны права на запись и на исполнение.
Существуют и другие права доступа, например, setuid-бит на выполняемые файлы и sticky-бит на директории. За дополнительными сведениями по этому вопросу обращайтесь к страницам системного справочника (chmod(1)).