Поиск по сайту:

Я — пессимист по своим наблюдениям, но оптимист по своим действиям (А. Грамши).

Как рекурсивно изменить разрешения файла в Linux2 мин для чтения

FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
22 декабря 2019
Как рекурсивно изменить разрешения файла в Linux
Если вы используете Linux в качестве основной операционной системы или управляете серверами Linux, вы столкнетесь с ситуацией, когда вы попытаетесь создать или отредактировать файл и получите ошибку «Permission deny». Как правило, ошибки, связанные с недостаточными разрешениями, можно устранить, установив правильные права доступа к файлу или владельца.

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

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

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

 

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

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

chmod -R MODE DIRECTORY

 

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

chmod -R 755 /var/www/html

 

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

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

 

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

 

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

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

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

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

 

Читать  Как удалить пользователя из группы в Linux [Быстрый совет]

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

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 f -print0 | xargs -0 chmod 644

 

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

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

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Читайте также

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close