Запустите Chmod отдельно для файлов и каталогов

Если вы пользователь Linux, то наверняка слышали о консольном приложении chmod . Это полезный инструмент, который позволяет изменять разрешения файловой системы с помощью сеанса терминала или эмулятора терминала. Когда вы его запускаете, он сразу меняет разрешения, которые вы указываете для файлов и каталогов. Но вам может потребоваться изменить права доступа к файлам отдельно от разрешений каталога и наоборот. Вот как это можно сделать.

Есть несколько способов сделать это. , но мой любимый и самый надежный способ сделать это — комбинировать chmod с инструментами xrags и find . Следующая команда изменит разрешения только для файлов.

 find/path/to/location -type f -print0 | xargs -0 chmod 644 

Здесь find выводит список всех файлов в указанном месте. Ключ -type f указывает ему выводить только файлы и исключать каталоги. Ключ -print0 позволяет обрабатывать имена файлов таким образом, чтобы имена файлов или каталогов, содержащие пробелы или новые строки, обрабатывались правильно.

Аналогичная соответствующая команда может использоваться и для каталогов. Единственная часть, которую вам нужно изменить, это -type f на -type d:

 find/path/to/location -type d -print0 | xargs -0 chmod 755 

Совет: вы можете сэкономить свое время и меньше печатать, используя этот трюк.

  1. Сначала примените разрешения файловой системы к файлам и папкам, запустив chmod в рекурсивном режиме:
     chmod -R 644/path/to/location 

    Он применит разрешения rw-rr ко всем файлам и папкам в указанном месте.

  2. Затем выполните команду только для каталогов:
     find/path/to/location -type d -print0 | xargs -0 chmod 755 

Оцените статью
digitdocom.ru
Добавить комментарий