CHMOD

Права доступа - это атрибуты файла или каталога, которые указывают серверу, кто и что может делать с соответствующим файлом или каталогом. Обычно, права доступа регламентируют такие действия как чтение, запись в файл (или каталог), исполнение. В системах UNIX все пользователи разделяются на три группы: "user" (непосредственно владелец файла), "group" (член той же группы, к которой принадлежит владелец файла) и "other" (все остальные). Когда вы соединяетесь с сервером, он определяет к какой группе вы относитесь. Например, подключаясь к серверу по FTP, вы входите под своим именем пользователя, соответственно сервер относит вас к группе "user". Другие пользователи, подключаясь по FTP, будет отнесены к группе "group", а когда человек попадает к вам на сайт через свой браузер, то попадает в группу "other".


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

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

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


Первая цифра в обозначении устанавливает права для группы "user"(т.е фактически для вас), вторая для группы "group" и третья для "other". Простым сложение цифр можно добиться установления прав на совокупность действий. Например, 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.

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

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

 

CHMOD - ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ

 

Примеры использования команды chmod в символьном режиме:

(Изначальное значение прав доступа файла file —   rwxrwxrwx — полный доступ для всех)

Отмена разрешения на выполнение файла для всех пользователей и групп:

chmod  a-x  file         (rw-rw-rw-)

Отмена записи в файл группой и остальными пользователями:

chmod  go-w  file      (rw-r—r—)

Разрешение выполнения файла владельцем:

chmod u+x file          (rwxr—r—)

Предоставление группе тех прав доступа, которыми владеет владелец файла:

chmod g=u file          (rwxrwxr—)

Отмена чтения и запись в файл пользователям группы и другим пользователям:

chmod go-rw file       (rwx—x—)

Примеры использования команды chmod в абсолютном режиме:

Разрешение чтения, записи, выполнения файла file всеми пользователями и группами (полный доступ):

chmod 777 file        (rwxrwxrwx)

Установка разрешений на чтение и запись для владельца, группы и остальных пользователей:

chmod 666 file        (rw-rw-rw-)

Установка полного доступа к файлу для владельца и лишь чтения для группы и остальных пользователей:

chmod 744 file        (rwxr—r—)

Установка полного доступа к файлу владельцу файла и запрет доступа группе и другим пользователям:

chmod 700 file        (rwx——)

Установка разрешений на чтение и запись для владельца файла и лишь чтения для группы и остальных:

chmod 644 file        (rw-r—r—)

Установка разрешений на чтение и запись владельцу файлу и его группе и запрет доступа для других:

chmod 640 file        (rw-r——)

Установка доступа к файлу с разрешением чтения для всех пользователей и групп:

chmod 444 file        (r—r—r—)

Права доступа к файлу для чтения, записи, выполнения владельцем и  чтения, выполнения группе и другим:

chmod 755 file        (rwxr-xr-x)

Разрешение доступа к файлу на чтение и выполнение пользователю и остальным и запрет доступа  для группы:

chmod 505 file        (r-x—r-x)

Если вы хотите назначить права доступа на все файлы в текущем каталоге, просто поставьте после назначаемых прав доступа знак * (звездочка):

chmod 755 *

В результате выполнения этой команды владелец получит полные права (чтение, изменение, выполнение) на все файлы текущего каталога, а группа и другие пользователи — только чтение и выполнение.

Если вы хотите, чтобы ваши действия распространились рекурсивно (включая все подкаталоги), воспользуйтесь опцией -R:

chmod -R 777 *

Результатом выполнения вышеприведенной команды будет рекурсивный «обход» всех подкаталогов текущего каталога и назначение полного доступа для всех пользователей и групп.