LINUX.ORG.RU

Рекурсивный chmod только на каталоги


2

0

Есть дерево всякого добра с неизвестно какими правами. Нужно: 1. Отдельно рекурсивно chmod на все подкаталоги и корневой каталог. 2. Отдельно рекурсивно chmod на все файлы во всех подкаталогах.

Зачем? Потому что нужна возможность ходить по каталогам, при этом не нужен аттрибут выполняемости файлов.

Помогите люди добрые. Искал гуглей, яндексом - ничего вразумительного не нашел.

anonymous

каталоги:

find . -type d -exec chmod 755 {} \;

файлы:

find . -type f -exec chmod 644 {} \;

учи матчасть :)))

З.Ы. фиксим владельцев в хомяках юзеров:

#!/bin/sh
for i in `find /home -type d -maxdepth 1`
do find /home/$i -not -user $i -exec chown $i {} \;
done

=)))

gr_buza ★★★★
()

>Искал гуглей, яндексом

Поищи ещё маном:-) Цитирую: "execute only if the file is a directory"

DonkeyHot ★★★★★
()

Если тебе надо добавить Х только на каталоги, то

chmod -R a-x dir # убираем все права на просмотр и выполнение
chmod -R a+X dir # даём только права на каталоги

Если Х а не х то атрибут добавляется для каталогов и тех файлов которые уже имеют такой атрибут (для пользователя, например).

из man chmod:

выполнение (или доступ к каталогу) (x); выполнение, если файл является каталогом или уже имеет право на выполнение для какого-нибудь пользователя (X)

AnyKey
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.