Как выставить права на папки 755 и права на файлы 644
Полезные команды когда много папок, а особенно если они вложены друг в друга(например для хостинга), тогда поможет вам такие команды:
$ sudo find dir/ -type d -exec chmod 755 {} \; $ sudo find dir/ -type f -exec chmod 644 {} \;
Для шаред-хостинга ( если есть папка public_html) нужно выполнить:
# find ~/public_html -type f -exec chmod 0644 {} \; # find ~/public_html -type d -exec chmod 0755 {} \;
Но предполагаю что следующий метод будет работать на большом количестве файлов (папок) быстрей:
# find . -type d ! -perm 755 -exec chmod 755 {} \; # find . -type f ! -perm 644 -exec chmod 644 {} \;
«.» означает поиск и замена прав в текущей директории.
Тест показал следующие данные.
Тест с папками:
# time find . -type d ! -perm 755 -exec chmod 755 {} \; real 0m1.976s user 0m0.306s sys 0m1.659s # time find . -type d -exec chmod 755 {} \; real 1m21.622s user 0m10.806s sys 1m4.141s
Тест с файлами:
# time find . -type f ! -perm 644 -exec chmod 644 {} \; real 0m1.967s user 0m0.311s sys 0m1.655s # time find . -type f -exec chmod 644 {} \; real 10m15.701s user 1m19.470s sys 7m59.427s
Что и требовалось доказать! Собственно, оба варианта используют одинаковое количество операций для поиска и замены прав на файлы и папки. Но есть одно но, запись идет дольше чем чтение, по этому вывод очевиден.
Вот еще одна вариация:
# find . -type f -exec chmod 644 {} + # find . -type d -exec chmod 755 {} +
Тема «Как выставить права на папки 755 и права на файлы 644» раскрыта полностью, надеюсь понятно выполнения команд.
Так это же smartmontools, не?
Да, ты прав