Современные решения ИТ задач и программной инженерии

Массовое изменение прав на файлы по маске

13.02.2012 в разделах ОбщееFree BSDс тегами xargsfindchmodfreebsd
Массовое изменение прав на файлы по маске
Если вы только купили хостинг с SSH и опыта работы с ним нет, то может появиться вопрос – как изменить права на файлы определенного типа, не меняя их на каждый файл по отдельности?

Типичная задача – сделать все файлы .php выполнимыми и читаемыми (а .html – читаемыми), но запретить запись, чтобы в случае попытки заражения сайта через FTP с сайтом ничего не случилось. Делается это очень просто.

Допустим, что все файлы находятся в директории /usr/local/www/apache22/data – это стандартное место для Apache22 из портов.

Изменить права для всех файлов .php на «читать и выполнять»:
find /usr/local/www/apache22/data -name «*.php» | xargs chmod 0555

Изменить права для всех файлов .htm* на «читать»:
find /usr/local/www/apache22/data -name «*.htm*» | xargs chmod 0444