Читаем Linux-сервер своими руками полностью

Право на чтение файла означает, что его можно просматривать и печатать, а для каталога — что может отображаться список содержащихся в нем файлов. Право на запись для файла означает возможность его редактирования, а для каталога — возможность создания и удаления в нем файлов.

Если для файла установлено право выполнения, то его можно запускать как программу. Данная возможность используется при написании сценариев командных интерпретаторов. Право выполнения для каталога означает право доступа к каталогу, но не право на выполнение расположенных в нем файлов, как это может показаться исходя из названия режима доступа. Чтобы разобраться с правом выполнения для каталогов, проведите небольшой эксперимент, выполнив несколько описанных далее действий. Все действия нужно проводить от имени обыкновенного пользователя, а не от имени суперпользователя root.

Создайте каталог:

mkdir dir1

Затем создайте в нем файл script:

#!/bin/sh echo "Hello"

Измените права на чтение и выполнения для файла:

chmod 500 dir1/script

Попробуйте просмотреть содержимое каталога dir1:

ls –l dir1

А теперь измените права доступа к каталогу и повторите предыдущий шаг:

chmod 600 dir1

ls –l dir1

Как результат установленных прав на чтение и запись для каталога вы получите сообщение:

Permission denied

Теперь попробуйте записать что-нибудь в каталог (мы же установили право на запись):

cat >> dir1/script

Получите то же сообщение:

Permission denied

В общем случае существует три категории пользователей: владелец, группа и прочие.

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

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

Прочие — это все остальные пользователи.

Для каждой категории имеется свой набор прав доступа, просмотреть который вы можете с помощью команды ls –l:

ls –l file.txt

-rw-r----- 1 den group 300 Feb 10 12:00 file.txt

Строка –rw-r–---- характеризует набор прав доступа к файлу file.txt.

Владельцем файла является пользователь den, который входит в группу group. Первый символ — это тип файла. «-» означает файл, a «d» — каталог. Следующие три символа «rw-» задают права доступа для владельца файла. Символ «r» — это право на чтение, «w» — на запись, а «х» — на выполнение. Права задаются именно в таком порядке: чтение, запись, выполнение. Если право на какой-нибудь вид доступа отсутствует, то ставится «-». В данном случае отсутствует право на выполнение.

Второй трёхсимвольный набор задает права доступа для группы, а третий — для прочих пользователей. В нашем примере (r--) члены группы имеют право только на чтение, а другие пользователи вообще не имеют никакого доступа к файлу (---).

Для изменения прав доступа используется программа chmod. При этом права доступа можно задавать двумя способами: символьным и абсолютным. Рассмотрим сначала символьный метод, а потом — абсолютный.

В рамках символьного способа изменения прав вызов программы chmod имеет следующий вид:

chmod права <файл|каталог>

Параметры программы chmod указаны в табл. 4.10.

Права доступа (символьный метод) Таблица 4.10

Опция Описание
+ Устанавливает право доступа
- Отменяет право доступа
= Присваивает набор прав доступа
rПраво на чтение файла или каталога
wПраво на запись файла или каталога
xПраво на выполнение
uУстанавливает право доступа для пользователя, который создал файл и является его владельцем
gУстанавливает права доступа для группы
оУстанавливает права доступа для прочих пользователей
аУстанавливает права доступа для владельца, группы и прочих пользователей
sУстанавливает бит смены идентификатора пользователя или группы
tУстанавливает sticky-бит

Бит смены идентификатора пользователя или группы является вариантом права выполнения х. Право на чтение, запись и выполнение обозначается в этом случае не rwx, a rws. Так называемый sticky-бит позволяет оставить программу в памяти после ее выполнения. Устанавливать этот бит полезно для маленьких и часто используемых программ, чтобы ускорить их запуск.

Перейти на страницу:

Похожие книги

Основы программирования в Linux
Основы программирования в Linux

В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стан­дартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым. Для начинающих Linux-программистов

Нейл Мэтью , Ричард Стоунс , Татьяна Коротяева

ОС и Сети / Программирование / Книги по IT
1001 совет по обустройству компьютера
1001 совет по обустройству компьютера

В книге собраны и обобщены советы по решению различных проблем, которые рано или поздно возникают при эксплуатации как экономичных нетбуков, так и современных настольных моделей. Все приведенные рецепты опробованы на практике и разбиты по темам: аппаратные средства персональных компьютеров, компьютерные сети и подключение к Интернету, установка, настройка и ремонт ОС Windows, работа в Интернете, защита от вирусов. Рассмотрены не только готовые решения внезапно возникающих проблем, но и ответы на многие вопросы, которые возникают еще до покупки компьютера. Приведен необходимый минимум технических сведений, позволяющий принять осознанное решение.Компакт-диск прилагается только к печатному изданию книги.

Юрий Всеволодович Ревич

Программирование, программы, базы данных / Интернет / Компьютерное «железо» / ОС и Сети / Программное обеспечение / Книги по IT