3.9.2. Интерпретация прав доступа
Давайте рассмотрим пример, демонстрирующий
работу с правами доступа. Используя команду ls
с опцией -l можно получить на экране
перечень файлов данного каталога в
"длинном" формате, включающем информацию о
правах доступа.
/home/larry/foo# ls -l stuff
-rw-r--r-- 1 larry users 505 Mar 13 19:05 stuff
/home/larry/foo#
Первое поле в выведенной строке представляет
права доступа. Третье поле - владельца файла (larry)
и четвертое - группу (users). Очевидно, что
последнее поле есть имя файла (stuff), а
остальные поля мы обсудим позже.
Этим файлом владеет larry, и он принадлежит
группе users. Давайте посмотрим на права
доступа. В строке -rw-r--r-- по порядку указаны
права владельца, группы и всех прочих.
Первый символ этой строки прав доступа ("-")
представляет тип файла. Символ "-"
означает, что это обычный файл (в
противоположность каталогу или специальному
файлу какого-то устройства). Следующие три
позиции ("rw-") представляют права доступа,
которые имеет владелец файла larry. Символ "r"означает
"read"(читать), "w" - "write"(писать). Таким
образом larry может читать файл stuff и
писать в него.
Как мы уже упоминали, кроме разрешений на
чтение и запись существует разрешение на
выполнение "execute" - представляемое символом "x".
Но в данном случае на этой позиции "-", так
что у Larry нет прав на выполнение этого файла. И это
чудесно, файл stuff совсем даже не является
программой. Разумеется, поскольку Larry владеет
файлом, он может дать сам себе разрешение на
выполнение этого файла, если захочет. Мы эту
процедуру скоро обсудим.
Следующие три символа r-- представляют
права доступа группы для этого файла. Эта группа
имеет имя users. Поскольку тут есть только "r",
любой пользователь этой группы может только
читать файл.
Последние три символа представляют ту же
комбинацию r--, то есть для всех прочих
доступно чтение этого файла и запрещены запись и
выполнение.
Вот еще несколько примеров на права доступа.
- -rwxr-xr-x
- Владелец файла может читать, писать и выполнять
файл. Члены группы и все прочие пользователи
могут читать и выполнять файл.
- -rw-------
- Владелец файла может читать и писать в файл.
Всем остальным доступ к файлу закрыт.
- -rwxrwxrwx
- Все могут читать писать и выполнять файл.
3.9.3. Зависимости
Важно заметить, что права доступа, которые
имеет файл зависят также от прав доступа к
каталогу, в котором этот файл находится.
Например, даже если файл имеет -rwxrwxrwx,
другие пользователи не смогут до него добраться,
если у них не будет прав на чтение и выполнение
каталога, в котором находится файл. Например,
если Larry захочет ограничить доступ ко всем своим
файлам, он может просто изменить права доступа
своего домашнего каталога /home/larry на drwx------.
Таким образом, никто другой не будет иметь доступ
в его каталог, а следовательно посторонним будут
недоступны и все файлы. Так что Larry может не
заботиться об индивидуальной защите своих
файлов.
Другими словами, чтобы иметь доступ к файлу, вы
должны иметь доступ ко всем каталогам, лежащим на
пути от корня к этому файлу, а также разрешение на
доступ собственно к этому файлу.
Обычно пользователи UNIX весьма открыты всеми
своими файлами. Обычно файлам устанавливается
защита -rw-r--r--, которая позволяет другим
пользователям читать файлы, но ни коим образом их
не менять. Каталогам обычно устанавливаются
права доступа drwxr-xr-x, что позволяет другим
пользователям ходить с правами экскурсантов по
вашим каталогам. Но ничего в них не трогать и не
записывать.
Но многие пользователи хотят держать других
пользователей подальше от своих файлов.
Установив права доступа файла, -rw------- вы
никому не покажете этот файл и не дадите записать
в него. Также хорошо закрывает от всех файлы
защита соответствующего каталога drwx------ .
[ Назад | Оглавление | Далее ]
|