Android

Как рекурсивно изменить права доступа к файлу в Linux

ну где же ты любовь моя прекрасное исполнение

ну где же ты любовь моя прекрасное исполнение

Оглавление:

Anonim

Linux является многопользовательской системой, и доступ к файлам контролируется через права доступа к файлам, атрибуты и права собственности. Это обеспечивает доступ к файлам и каталогам только авторизованным пользователям и процессам.

Для получения дополнительной информации о правах доступа к файлам см. «Команда Umask в Linux»., мы объясним, как рекурсивно изменять права доступа к файлам и каталогам.

Chmod Рекурсивный

Команда chmod позволяет вам изменять права доступа к файлам, используя символьный или числовой режим.

Чтобы рекурсивно работать со всеми файлами и каталогами в данном каталоге, используйте команду chmod с опцией -R , ( --recursive ). Общий синтаксис для рекурсивного изменения прав доступа к файлу следующий:

chmod -R MODE DIRECTORY

Например, чтобы изменить разрешения всех файлов и подкаталогов в каталоге /var/www/html на 755 вы должны использовать:

chmod -R 755 /var/www/html

Режим также можно указать с помощью символического метода:

chmod -R u=rwx, go=rx /var/www/html

Только root, владелец файла или пользователь с привилегиями sudo могут изменять права доступа к файлу. Будьте особенно осторожны при рекурсивном изменении прав доступа к файлам.

Использование команды find

Как правило, файлы и каталоги не должны иметь одинаковые разрешения. Большинство файлов не требуют разрешения на выполнение, в то время как вы должны установить разрешения на выполнение для каталогов, чтобы перейти на них.

Наиболее распространенным сценарием является рекурсивное изменение разрешений файла веб-сайта на 644 и разрешений каталога на 755 .

Используя числовой метод:

find /var/www/html -type d -exec chmod 755 {} ; find /var/www/html -type f -exec chmod 644 {} ;

Используя символический метод:

find /var/www/html -type d -exec chmod u=rwx, go=rx {} ; find /var/www/html -type f -exec chmod u=rw, go=r {} ;

Команда find ищет файлы или каталоги в каталоге /var/www/html и передает каждый найденный файл или каталог команде chmod для установки разрешений.

При использовании команды find с -exec команда chmod запускается для каждой найденной записи. Используйте команду xargs чтобы ускорить операцию, передав несколько записей одновременно:

find /var/www/html -type d -print0 | xargs -0 chmod 755 find /var/www/html -type d -print0 | xargs -0 chmod 755 find /var/www/html -type f -print0 | xargs -0 chmod 644 find /var/www/html -type f -print0 | xargs -0 chmod 644

Вывод

Команда chmod с опциями -R позволяет вам рекурсивно изменять права доступа к файлу.

Чтобы рекурсивно установить права доступа к файлам в зависимости от их типа, используйте chmod в сочетании с командой find .

терминал chmod