Как я могу рекурсивно chmod все внутри папки?
Например, у меня есть папка, var
которая содержит много подпапок и файлов.
Как я могу применить chmod 755 рекурсивно к этой папке и всему ее содержимому?
Пожалуйста, обратитесь к руководству ( man chmod
):
-R, --recursive
change files and directories recursively
chmod -R 755 /path/to/directory
будет выполнять то, что вы хотите.
Тем не мение…
Вы обычно не хотите 755 всех файлов ; они должны быть 644, так как они часто не должны быть исполняемыми. Следовательно, вы можете сделать find /path/to/directory -type d -exec chmod 755 {} \;
только для изменения разрешений каталога. Используйте -type f
и, chmod 644
чтобы применить разрешения к файлам.
Это перезапишет любые существующие разрешения. Это не очень хорошая идея - для /var
этой папки уже установлены правильные разрешения, установленные системой. Например, для некоторых каталогов /var
требуется 775 разрешений (например, /var/log
).
Поэтому, прежде чем делать sudo chmod
- особенно в системных папках - сделайте паузу и подумайте, действительно ли это необходимо.
[augo]+X
поддерживаются только для добавления + x, если объект уже исполняемый.+X
раньше: это так полезно с несколькими файлами, будь то из-R
, маска файла, или при обработке файлов, найденных сfind
. Действительно полезный совет.