Права доступа в UNIX-системах

0
398

В unix существует существует система разграничения доступа пользователей к директориям (каталогам, папкам) и файлам. Пользователи по отношению к директории или файлу могут быть: владелец, группа, остальные. Права: чтение, запись, выполнение. Для директорий выполнение означает возможность поиска файла в директории, то есть возможность открыть файл по указанному пути (path). Права обозначают либо буквами rwxrwxrwx, либо цифрами (восьмеричными триадами). Отсутствующее право обозначают минусом (прочерком) для буквенного обозначения или же нулевым битом для цифрового. Первая тирада — права владельца, вторая — группы, третья — остальных.


Наиболее часто встречаются:

для файлов:
rw-r—r— или 644 — (110 100 100) — все могут читать файл, а владелец может еще и писать в файл.
rw-rw-rw- или 666 — (110 110 110) — все могут и читать, и писать.

для директорий:
rwxr-xr-x или 755 — (111 101 101) — все могут читать директорию и находить в ней файлы, владелец может создавать новые и удалять существующие файлы в директории.
rwxrwxrwx или 777 — (111 111 111) — всем все разрешено.

В основном встречаются две хостинговые конфигурации:

1. php/apache выполняются от своего имени (apache, www, nobody). Обычно, так бывает, когда php подключена как модуль apache.
2. php/apache выполняются от имени пользователя — владельца сайта. php как CGI. Встречается редко. Чаще php как CGI также выполняются от своего имени.

WordPress обычно должен иметь возможность писать в директории /wp-content/cache и /wp-content/uploads. Поэтому для хостинга первой конфигурации нужно на эти директории ставить права 777.

Справка:
000 = 0
001 = 1
010 = 2
011 = 3
100 = 4
101 = 5
110 = 6
111 = 7