Сначала рассмотрим какими бывают права доступа linux и как они устанавливаются. Пред этим рекомендую прочитать статью про права, ссылка на которую есть выше. Есть три основных вида прав:
r - чтение;
w - запись;
x - выполнение;
s - выполнение от имени суперпользователя (дополнительный);
Также есть три категории пользователей, для которых вы можете установить эти права на файл linux:
u - владелец файла;
g - группа файла;
o - все остальные пользователи;
Синтаксис настройки прав такой:
группа_пользователейдействиевид_прав
В качестве действий могут использоваться знаки "+" - включить или "-" - отключить. Рассмотрим несколько примеров:
u+x - разрешить выполнение для владельца;
ugo+x - разрешить выполнение для всех;
ug+w - разрешить запись для владельца и группы;
o-x - запретить выполнение для остальных пользователей;
ugo+rwx - разрешить все для всех;
Но права можно записывать не только таким способом. Есть еще восьмеричный формат записи, он более сложен для понимания, но пишется короче и проще. Я не буду рассказывать как считать эти цифры, просто запомните какая цифра за что отвечает, так проще:
0 - никаких прав;
1 - только выполнение;
2 - только запись;
3 - выполнение и запись;
4 - только чтение;
5 - чтение и выполнение;
6 - чтение и запись;
7 - чтение запись и выполнение.
Права на папку linux такие же, как и для файла. Во время установки прав сначала укажите цифру прав для владельца, затем для группы, а потом для остальных. Например, :
744 - разрешить все для владельца, а остальным только чтение;
755 - все для владельца, остальным только чтение и выполнение;
764 - все для владельца, чтение и запись для группы, и только чтение для остальных;
777 - всем разрешено все.
Каждая из цифр не зависит от предыдущих, вы вбираете именно то, что вам нужно. Теперь давайте рассмотрим несколько опций команды, которые нам понадобятся во время работы:
-c - выводить информацию обо всех изменениях;
-f - не выводить сообщения об ошибках;
-v - выводить максимум информации;
--preserve-root - не выполнять рекурсивные операции для корня "/";
--reference - взять маску прав из указанного файла;
-R - включить поддержку рекурсии;
--version - вывести версию утилиты;