menu hover
FAQ по хостингу »

Права файлов (chmod)

1. Что такое права файлов/каталогов и как их изменить?

2. Как установить права доступа на файл?

3. Наиболее часто встречающиеся сочетания

4. FAR manager

5. Total Commander

6. Flash FXP

7. Midnight Commander (mc)

8. Изменение прав командами в ssh

9. chmod калькулятор

1. Что такое права файлов/каталогов и как их изменить?

Права доступа - это атрибуты файла или каталога, которые указывают серверу, кто и что может делать с соответствующим файлом или каталогом. Обычно права доступа регламентируют такие действия как чтение, запись (данных в файл или файлов в каталог) и исполнение. В системах 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

2. Как установить права доступа на файл?

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

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

Например:

chmod u=rwx,go=rx filename

изменение прав на 755

chmod u=rw,go=r filename

изменение прав на 644

chmod u=rw,go= filename

изменение прав на 600

chmod a=r filename

изменение прав на 444

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

3. Наиболее часто встречающиеся сочетания
Права доступаКомандаОписание
d
U
G
O 
-
rw-
---
---chmod 600только владелец файла может читать/записывать
-
rw-
r--
r--chmod 644владелец файла может читать и записывать, члены группы и остальные - только читать
-
rw-
rw-
rw-chmod 666любой пользователь может читать/записывать
-
rwx
---
---chmod 700только владелец файла, может читать/записывать и запускать на исполнение
-
rwx
--x
--xchmod 711владелец файла, может читать/записывать и запускать на исполнение, члены группы и остальные могут запускать на исполнение, но не могут читать и изменять
-
rwx
r-x
r-xchmod 755владелец файла, может читать/записывать и запускать на исполнение, члены группы и остальные могут читать и запускать на исполнение, но не могут записывать
-
rwx
rwx
rwxchmod 777любой пользователь может читать/записывать и запускать на исполнение
d
rwx
---
---chmod 700только владелец может входить в этот каталог, читать и записывать в него файлы
d
rwx
r-x
r-xchmod 755любой пользователь может входить в этот каталог и читать содержимое каталога, но изменять содержимое может только владелец
d = directory; U = user; G = group; O = other
r = Read; w = Write; x = eXecute; - = Нет права
4. FAR manager

  • Откройте FAR, зайдите по FTP, выберите файл или каталог, нажмите Ctrl+A:
  • Установите необходимые права:

5. Total Comander

  • Откройте Total Comander, зайдите по FTP, выберите файл или папку, далее Files и Change attributes
  • Установите необходимые права.

6. Flash FXP

  • Откройте Flash FXP, зайдите по FTP, кликните правой клавишей файл или папку, выберите Атрибуты (CHMOD). Или выберите файл или папку и нажмите CTRL+O.
  • Установите необходимые права.

7. Midnight Commander (mc)

  • Запустите в консоли Midnight Commander командой mc, выберите файл или папку (выбрать одновременно несколько файлов можно с помощью команды CTRL+T), в меню File выберите cHmod (или командой CTRL+X потом C)
  • Установите необходимые права.

8. Изменение прав командами в ssh

Рекурсивная установка прав на файлы в каталоге, пример:
chmod -R <права> <каталог>

chmod -R 777 /home/iuser/files

Установка прав на перечисленные файлы, пример:
chmod права файл1 файл2 ... файлN

chmod 777 file1.txt file2.txt ffile3.txt

Для всех битов (a = all) убрать флаги r и w (т.е. запретить чтение и запись)

chmod a-rw /home/user2/folder1/file2.txt

Для группы (g = group) и для других (o = others) добавить флаг чтения (r)

chmod go+r /home/user2/folder1/file9.txt

Информацию о команде chmod можно прочесть в мануале:

man chmod
9. chmod калькулятор

Chmod
Permission Owner Group Other
Read
Write
Execute