AlfaEducation

Как сменить права только на папки или только на файлы

Файлы и папки в LinuxДумаю, данный «рецепт» будет полезен для новичков, которые не знают как изменить права и атрибуты только файлов или только папок, и опытным пользователям Linux / BSD и прочих Unix, которые запамятовали как это делается. Себя я отношу к последним.

Изменить владельца директории и всего, что в ней есть можно используя ключик -R утилиты chown:

chown user:group -R /путь/к/папке

Аналогично с правами, только там утилита — chmod.

И всё бы хорошо, да только чтобы можно было «пройти» по директории, нужно право на «исполнение» директории, а вот файлы мы не все хотим делать исполняемыми. То есть вариант chmod 755 -R /var/www , например для сайта, не пройдёт. Значит надо назначить права отдельно для файлов и отдельно для папок. Это можно сделать вручную, но это самый дурацкий вариант. Можно написать скрипт, но всё уже придумано за нас.

Стандартный способ — использовать find с ключом «-exec», его и применим:

find /путь/к/папке -type f -exec chmod 644 {} \;

— изменяем права на файлы (только) в нужной директории (и поддиректориях).

find /путь/к/папке -type d -exec chmod 755 {} \;

— теперь — для папок.

Да, всё _так_ просто :)

Мне понравилась эта заметка:
Как сменить права только на папки или только на файлы: 3 комментария
  1. А, что говорить про нас, простых юзерах? Как-то так вышло, что вроде бы и не надо всех этих премудростей, да и правильно — наверное. Потому и забывается…

    • Именно! Забывается. И сам бы давно забыл, если бы не программировал без IDE, да не приходилось администрировать 2 Debian’а, да 2 FreeBSD. Там — уж извиняйте, GUI — нема… А задачка это встаёт частенько.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>