LINUX.ORG.RU

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

 , ,


0

1

Всем привет!

Дано:

Некий пользователь, на тестовой машине, рекурсивно поменял права на каталог с огромным количеством файлов и уровней вложенности. Руками можно восстановить, есть каталог с правильными правами, правильной структурой но отличается содержимым файлов.

Задача:

Надо восстановить работоспособность порушенного каталога.

Вижу два пути решения:

  • переименовать «порченый» каталог. Залить с нормальными правами. Пройтись на предмет несовпадения файлов. Заменить содержимое файлов.

  • получить перечень прав на файлы и каталоги в нормальном каталоге. Заменить права в «порченом» каталоге согласно списка из правильного.

Прошу помощи коллективного разума лора. Как оптимальнее выкрутиться? Пока пытался получить список прав через ‘ls -Rl’ но так не выводятся права доступа для каталогов.


поменял права на каталог

Что поменял и насколько. Например. Во всех подкаталогах был один пользоватеь-группа, он сменил на другую. Тогда просто, пройти в цикле и установить нужных пользователя-группу. Если «измена» была более изощренная, то все усложняется.

andytux ★★★ ()
Ответ на: комментарий от Aceler

Не могу понять как организовать логику однострочника. Должно быть нечто вроде:

пройти "нормальный" каталог рекурсивно
получить дерево файлов и каталогов с правами
пройти "порченый" каталог рекурсивно
в процессе прохода;
    если имя и расположение файла совпадает
    заменить права "порченого" файла на нормальные

к сожалению мне не достаточно поменять все каталоги на 775 и файлы на 664

knock ()