Задача - нам нужно поменять права доступа или владельца (chmod или chown соответственно) у всех вложенных файлов или директорий. Но только файлов, или только директорий. Стандартный метод chmod -R или chown -R не подходит, т.к. поработает как с файлами, так и с директориями.
А нам нужно, что оно прошло все директории и поменяло только файлы, или только директории. Например, мы меняем chmod у директорий на 775... но у файлов 775 значит совсем не то, что у директорий - для файлов правильно будет 664.
Итак, решаем.
Для смены chmod или chown только у директорий, начиная с директории, где Вы находитесь (т.е., в отличие от chmod -R, Вам нужно зайти в директорию, начиная с которой нужно менять права):
# find . -type d -exec chmod 775 {} \;
# find . -type d -exec chown aaa:bbb {} \;
Где вместо 775 ставим chmod, который нам нужен. И вместо aaa:bbb ставим, соответственно, нужного пользователя и группу.
Для смены прав у только файлов (или владельца):
# find . -type f -exec chmod 664 {} \;
# find . -type f -exec chown aaa:bbb {} \;
Комментарии
Оставить комментарий
Операционная система LINUX
Термины: Операционная система LINUX