Права доступа (CHMOD)

Права доступа – это атрибуты файла или каталога, которые указывают серверу кто и что может делать с соответствующим файлом или каталогом. Обычно права доступа регламентируют такие действия как чтение, запись в файл (или каталог), исполнение.

В системах Unix (Linux) все пользователи разделяются на три группы:

user – непосредственно владелец файла;
group – член той же группы, к которой принадлежит владелец файла;
world – все остальные.

Когда вы соединяетесь с сервером, он определяет, к какой группе вы относитесь. Например, подключаясь к серверу по FTP, вы входите под своим именем пользователя, соответственно сервер относит вас к группе user. Другие пользователи, подключаясь по FTP, будет отнесены к группе group, а когда человек попадает к вам на сайт через свой браузер, то он попадает в группу world.

После определения группы пользователь получает права на действия с объектами, то есть он может прочитать, записать или выполнить файл. Чтобы просмотреть каталог, он должен быть исполняемым, чтобы просмотреть его содержимое, он должен иметь атрибут чтения, а чтобы создать новый файл или каталог в существующем каталоге, необходимо иметь право на запись. Таким образом, чтобы выполнялось приложение или CGI- или PHP-скрипт, необходимо ставить на каталог атрибут чтения и выполнения.

Создавая файл, пользователь автоматически получает самые широкие права на делание с этим файлом чего угодно, его группа — несколько меньшие права, а все остальные — совсем ничтожные права. В Unix (Linux) есть только три основных права — читать файл или просматривать каталог («Read»), изменять файл или каталог, записывая в него что-нибудь, или вообще его удалять («Write»). Последнее право — право на запуск файла («eXecute»).

Чтобы распределить права для соответствующих групп, используются цифровые обозначения:

4 = read (право на чтение);
2 = write (право на запись);
1 = execute (право на выполнение).

Первая цифра в обозначении устанавливает права для группы user (т.е. фактически для вас), вторая для группы group и третья для world.

Простым сложение цифр можно добиться установления прав на совокупность действий. Например:

3 (2+1) – разрешает запись и выполнение файла (каталога);
5 (4+1) – разрешает чтение и выполнение;
6 (4+2) – разрешает чтение и запись;
7 (4+2+1) – устанавливает право чтения, записи и выполнения.

То есть существует всего семь вариантов:

7 = read, write & execute (чтение, запись, выполнение);
6 = read & write (чтение и запись);
5 = read & execute (чтение и выполнение);
4 = read (чтение);
3 = write & execute (запись и выполнение);
2 = write (запись);
1 = execute (выполнение).

Для установления прав доступа используется команда CHMOD.

Несмотря на это, еще никому не помешало знать чуть больше о командах Unix. Так вот, команда chmod имеет два режима: Абсолютный (цифровой) и Символьный режим. Команда chmod, используемая в Unix, или команда site chmod, используемая в некоторых FTP-менеджерах (-клиентах) (FTP Explorer, например), могут использоваться в обоих режимах.

При Абсолютном (цифровом) режиме используется описанный выше 3-х цифровой код прав доступа. Символьный режим использует буквенный формат для установки прав доступа. Здесь используются буквы r (read, чтение), w (write, запись) и x (execute, выполнение). А также u (user, пользователь), g (group, группа), o (other (world), другие, весь мир) и a (all, все [не используется]).

Вот несколько наиболее часто встречающихся сочетаний:

CHMOD 755 – Для директорий, CGI-скриптов, PHP-скриптов
CHMOD 644 – Для обычных файлов, PHP-скриптов
CHMOD 600 – Скрыть файлы от всех, кроме ваших скриптов

Во всех современных FTP-клиентах присутствует возможность назначения прав доступа путем простановки «галочек» в чекбоксах, либо просто введением цифрового кода в соответствующее поле.

Этот материал был полезным?

Похожие материалы

Нужна поддержка?

Не можете найти ответ на интересующий вас вопрос?
Contact Support