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 *
Результатом выполнения вышеприведенной команды будет рекурсивный «обход» всех подкаталогов текущего каталога и назначение полного доступа для всех пользователей и групп.