Подскажите скриптик быстрой смены chmod на дирах?

M
На сайте с 18.10.2006
Offline
185
890

Конструкция вида

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

работает долго, потому как дир много - разной вложенности и строится список очень долго.

Есть какой более быстрый вариант? С меня пиво).

Например как то обходить не все сразу, а по вложенности?

Кому-то - асерет-а-диброт, а кому-то - хатуль мадан. Вам выбирать!
Andron_buton
На сайте с 19.07.2007
Offline
270
#1
MO $$$:
Например как то обходить не все сразу, а по вложенности?

что значит по вложенности?

Вот, к примеру, поменяет права только тех директорий, которые внутри /var/www/:

find /var/www/* -type d -exec chmod 775 {} \;
M
На сайте с 18.10.2006
Offline
185
#2

я запускаю find . -type d -exec chmod 0755 {} \; внутри нужной мне диры - пусть будет /var/www/

там скажем 50 дир - внутри каждой - еще по 50 дир, внутри каждой еще по 50 - в общем дир много :).

пока find все обойдёт - проходит много времени - может и пару дней :)

если же я запущу данную конструкцию 50 раз - т.е. не внутри /var/www/ , а внутри каждой из 50 дир, что разположены в /var/www/ - тогда процесс пойдёт гораздо быстрее и за несколько часов будет закончено...

50 раз запустить не сложно, хотя и напрягает :)

но вот стоит задача обработать 30-40 дир подобных /var/www/ - запускать руками 1500-2000 раз - несколько проблемно :)

думаю есть решения более простые...

интересно - шелл, питон, перл и т.д. - т.е. быстрая работа в консоли...

VK
На сайте с 29.12.2011
Offline
42
#3

find /path/to/base/dir -type d -print0 | xargs -0 chmod 755

соответственно количество вызовов chmod можно регулировать с помощью параметров к xargs

M
На сайте с 18.10.2006
Offline
185
#4
V2NEK:
find /path/to/base/dir -type d -print0 | xargs -0 chmod 755

соответственно количество вызовов chmod можно регулировать с помощью параметров к xargs

так они же пойдут по одному пути?

---------- Post added 20-01-2015 at 16:08 ----------

вопрос решил сам.

Andreyka
На сайте с 19.02.2005
Offline
822
#5

И каково же было решение?

Не стоит плодить сущности без необходимости
M
На сайте с 18.10.2006
Offline
185
#6

chmod -R go=rX,u=rwX /dir/

Andron_buton
На сайте с 19.07.2007
Offline
270
#7
MO $$$:
chmod -R go=rX,u=rwX /dir/

Ниче, шо Вы спрашивали как поменять права на директории, а сами рекурсивно меняете права на директории и файлы в них?

pupseg
На сайте с 14.05.2010
Offline
347
#8

chmod -R уже предлагали ?

---------- Добавлено 21.01.2015 в 00:40 ----------

Фак.. вижу что да ) ну да ладно

Качественная помощь в обслуживании серверов. (/ru/forum/661100) Бесплатных консультаций не даю, не помогаю, не обучаю. Минималка от 100$. Как пропатчить KDE-просьба не спрашивать. Есть форумы (http://linux.org.ru) и полезные сайты (http://www.opennet.ru/).
M
На сайте с 18.10.2006
Offline
185
#9
Andron_buton:
Ниче, шо Вы спрашивали как поменять права на директории, а сами рекурсивно меняете права на директории и файлы в них?

ничего, что права на файлы не меняются? 🤪

вы конечно можете критиковать ;) , но я 6-ть часов менял права на ДИРЕКТОРИИ, а права на ФАЙЛЫ остались не затронутыми - так что я просто улыбнусь ;) - хотя с такой датой реги, могли бы сначала проверить, прежде чем написать так категорично ;)



---------- Post added 21-01-2015 at 03:01 ----------

pupseg:
chmod -R уже предлагали ?

---------- Добавлено 21.01.2015 в 00:40 ----------

Фак.. вижу что да ) ну да ладно

хех)

Andreyka
На сайте с 19.02.2005
Offline
822
#10
Andron_buton:
Ниче, шо Вы спрашивали как поменять права на директории, а сами рекурсивно меняете права на директории и файлы в них?

execute (or search for directories) (x), execute/search only if the file is a direc‐
tory or already has execute permission for some user (X)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий