Права доступа на файлы (CHMOD)

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

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

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

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

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

Простым сложение цифр можно добиться установления прав на совокупность действий. Например, 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

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

755
для user - read, write & execute
для group - read & execute
для other - read & execute

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

Команда “chmod” имеет два режима: Абсолютный(цифровой) и Символьный режим.

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

Например:
755 : chmod u=rwx,go=rx filename
644 : chmod u=rw,go=r filename
600 : chmod u=rw,go= filename
444 : chmod a=r filename

Один комментарий

  1. TaraS:

    Спасибо! Подробно обьяснил - а то мастерингом балуюсь, но до конца все ети мелочи не знал..

Оставьте свой отзыв