Что такое права? На веб-сервере UNIX, каждый отдельный файл и папка, хранящиеся на жестком диске имеет ряд прав, связанных с ним, в котором говорится, кто и что может делать с файлом. У каждого файла (и папки) также есть «владелец» и «группа» связанная с ним. Если вы создали файл, то как правило владельцем файла являетесь вы и ваша группа, или группе связанной с директорией в которой вы создали файл.
Кто может изменять права? Есть три типа пользователей которые имеют доступ к файлам — Владелец файла, члены Группы, владеющей файлом и Остальные (все прочие). В UNIX эти 3 типа пользователей обозначаются буквами U (для Владельца, или Юзер), G (для Группы), и O (для Остальных).
Какие права можно устанавливать? Есть три основных типа прав доступа которые могут быть применены к файлам и директориям: - Вы можете читать содержимое файлов. Для каталогов - просматривать перечень имен файлов в каталоге.
- Вы можете писать (или изменять) файл. Для каталогов - создание и удаление файлов из директории.
- Вы можете исполнять (запускать) файлы, если это бинарные программы
или скрипты. Для каталогов — иметь доступ к файлам в директории.
Что означают все эти буквы и цифры? Здесь мы рассмотрим основы. Как вы можете заметить их не так уж и много на самом деле! Путаница часто происходит, когда Вам надо сделать установку прав на сервере. Для CGI скриптов необходимо устанавливать права что-то вроде "Chmod 755" или "Убедитесь, что файл является исполняемым". Кроме того, при использовании FTP или SSH, вы увидите множество забавных букв рядом с файлами (например, rwxrw-rw). Сейчас мы объясним, что означают эти иероглифы! Когда вы подключаетесь по FTP на ваш веб-сервер, вы вероятно увидите что-то типа этого возле каждого файла и папки: drwxrwxrwx
Эта последовательность букв drwxrwxrwx означает права, установленные для этой папки (заметим, что их часто называют атрибутами FTP программы). Давайте разберем, что каждая из этих букв означает: d
| RWX
| RWX
| RWX
|
| Owner
| Group
| Other
| Directory
| Read Write Execute
| Read Write Execute | Read Write Execute |
Как вы можете видеть, последовательность букв разделяется на 3 колонки по 3 буквы каждая, обозначающие каждый из типов пользователей (владелец, члены группы, и все остальные). Существует также и буква "d" атрибут слева, который говорит нам о том, что данный объект является директорией. Если любая из этих букв заменена на дефис (-), то это означает, что разрешение не установлено. Например: drwxr-x--x
Директория, у которой есть права на чтение, запись и исполнение для владельца, чтение и выполнение для группы и только выполнение для всех остальных. -rw-rw-rw- Файл, который может быть прочитан и изменён всеми, но не исполняем ни для кого. -rw-r--r--
Файл который может прочитать и изменить пользователь, а прочитать только пользователи группы и остальные пользователи. Использование чисел вместо букв
Как мы уже раньше говорили, вас будут часто просить установить права с помощью чисел таких, как "set 755 permissions". Что означают эти цифры? Каждое из трех чисел соответствует каждой букве (r w x) о которых мы говорили ранее. Иными словами, первое число определяет права для владельца, второе число определяет права для группы, а третье число определяет права для всех остальных. Каждое число может принимать одно из восьми значений в диапазоне от 0 до 7. Каждое значение соответствует определенным правам на чтение, запись и выполнение ", как указано в этой таблице: Number
| Read®
| Write(W)
| Execute(X)
| 0
| No
| No
| No
| 1
| No
| No
| Yes
| 2
| No
| Yes
| No
| 3
| No
| Yes
| Yes
| 4
| Yes
| No
| No
| 5
| Yes
| No
| Yes
| 6
| Yes
| Yes
| No
| 7
| Yes
| Yes
| Yes
|
Для примера: 777 = rwxrwxrwx 755 = rwxr-xr-x 666 = rw-rw-rw- 744 = rwxr--r--
Настройка разрешений
Два самых распространённых способа установить разрешения на файлы и папки это с помощью FTP или SSH. Давайте рассмотрим первым FTP.
Установка разрешений с помощью FTP С помощью FTP вы сможете установить права на ваши файлы, выбрав файл (в отдельном окне) и правой кнопкой мыши выбрать необходимые вм опции, такие как CHMOD или Set permissions или же выбрав в меню пункт CHMOD / Set permissions. Как видите, довольно легко установить или убрать права на чтение, запись и выполнение для владельца, группы и других, используя флажки. Кроме того, вы можете ввести в эквиваленте 3-значный номер, если вы уже знаете как (см. предыдущий раздел). Все очень просто!
Установка разрешений с помощью SSH Другой распространенный способ установить разрешения на файлы с помощью SSH (или консоли). Это в целом быстрее, если вы хотите изменить права на большое количество файлов одновременно (например, изменение всех. CGI файлов в папке только на вполнение). После того, как вы подключитесь по SSH к вашему серверу, и залогинетесь в систему, перейдите в папку, содержащую файлы, которые вы хотите изменить, например:
cd mysite/cgi-bin
Использование буквенного способа Вы можете использовать буквы u (владелец / пользователь), g (группы) и o (другие), чтобы установить разрешение для каждого из типов пользователей, а также r (чтение), w (запись) и x (выполнение) для установки прав. Вы также можете использовать "a" вместо u, g и o, что является синонимом для всех пользователей (u, g, o). Вы можете назначить разрешения, используя либо знак плюс (+), которое означает "добавить эти права", знак минус (-), что означает "удалить эти разрешения", или знак равенства (=), что означает "изменить разрешения для конкретного случая ". Например: chmod a+x formmail.cgi добавляет разрешение на выполнение для всех пользователей в файле formmail.cgi (другими словами, делает исполняемый файл). chmod u=rwx formmail.cgi чтение, запсь и выполнение для владельца (разрешений для группы и для других остаются без изменений). chmod go-w formmail.cgi удаляет запись для группы и для других, в результате чего разрешения владельца остаются неизменными.
Проверка разрешений Вы можете проверить разрешения на все файлы и папки в текущей директории с помощью команды: ls -l
Это покажет Вам разрешение для каждого файла и папки, так же, как и FTP программы.
Взято здесь http://www.quizful.net/post/unix-file-permissions
|