Рекурсивное изменение прав доступа на файлы и директории
Права доступа к файлам и директориям является неотъемлемой частью любой операционной системы. И в этой статье описаны возможности по рекурсивной настройке этих прав доступа.
Изменение прав доступа осуществляется при помощи команды chmod
, рекурсивное при добавлении опции -R
:
-R
- рекурсивный обход директорий и файлов.MODE
- набор прав доступа для их установки.DIR
- файл или директория, у которых необходимо установить определённые права доступа.
В итоге, команда должна выглядеть так:
Но, стоит учитывать, что таким образом директории и файлы примут одинаковые права доступа. Чтобы избежать этого, можно воспользоваться командой find
, которая отфильтрует директории и файлы друг от друга:
Команда find
ищет директории (-type d
) и файлы (-type f
) и скармливает их команде chmod
, а та, в свою очередь, уже расставляет права доступа. При использовании -exec
, chmod
выполняется для каждого найденного элемента поочерёдно. Можно оптимизировать и записать с использованием xargs
:
При xargs
, chmod
выполняется сразу для нескольких записей одновременно, как сообщает Daniel Miessler:
Если необходимо запустить рекурсивное изменение прав доступа начиная с текущей директории, то /var/www/html
необходимо поменять на точку: