Измените все права доступа к файлам и папкам каталога на 644/755
Как бы я изменил все файлы на 644 и все папки на 755 с помощью chmod
с linux
командная строка? (Терминал)
7 ответов:
один подход может быть с помощью find:
для каталогов
find . -type d -print0 | xargs -0 chmod 0755
для файлы
find . -type f -print0 | xargs -0 chmod 0644
самый простой способ это сделать:
chmod -R u+rwX,go+rX,go-w /foo
что в основном означает:
до
ch
ange filemod
es-R
восторженно давая:
u
сер:r
ead,w
обряд и ЕX
разрешения ecute,g
группы и
самый короткий, который я мог бы придумать, это:
chmod -R a=r,u+w,a+X /foo
который работает на GNU / Linux, и я считаю, что на Posix в целом (из моего чтения: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/chmod.html).
это:
- установить файл/каталог р__р__р__ (0444)
- добавить W для рук, чтобы получить РВ_р__р__ (0644)
- настройка выполнить для всех если каталог (для dir 0755, 0644 для папка.)
важно отметить, что разрешение step 1 очищает все биты выполнения, поэтому Шаг 3 добавляет только биты выполнения для каталогов (никогда не файлы). Кроме того, все три шага происходят до рекурсии каталога (так что это не эквивалентно, например,
chmod -R a=r /foo chmod -R u+w /foo chmod -R a+X /foo
так как a=r удаляет x из каталогов, то chmod не может рекурсировать в них.)
это сработало для меня:
find /A -type d -exec chmod 0755 {} \; find /A -type f -exec chmod 0644 {} \;
сделать оба в один проход с:
find -type f ... -o -type d ...
как найти тип F или D типа, а не первого ... для файлов и второй ... для дирса. В частности:
find -type f -exec chmod --changes 644 {} + -o -type d -exec chmod --changes 755 {} +
оставить у
--changes
Если вы хотите, чтобы молча работать.