2

Можно ли запустить chmod для установки папок на 0755 и файлов на 0644, или мне нужно применить 0755 ко всем папкам по отдельности?

3 ответа3

7

Вы можете сделать это с помощью команды find , либо через -exec либо с помощью команды piped:

find . -type d -print0 | xargs -0 chmod 0755

или же

find . -type d -exec chmod 0755 {} \;

Тип -type d будет обрабатывать все каталоги. Вы также можете запустить те же команды, что и выше, с -type f для обработки файлов (просто поменяйте местами 0755 и 0644).

2

В основном вы можете сделать это с разрешением "X" в символическом режиме chmod, что в основном означает «x, но только тогда, когда это имеет смысл»:

chmod -R u=rwX,go=rX /path/to/dir

Это автоматически установит 755 для каталогов и 644 для файлов, за исключением того, что, если какие-либо файлы уже имеют какие-либо разрешения на выполнение, он примет это намеренно (то есть они на самом деле исполняемые файлы) и также установит их на 755.

1

Думайте просто: только две строки (bash и нет python !!!)

сначала все файлы (включая каталоги): chmod 644 -R *

тогда только подкаталоги: chmod 755 -R */

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .