Восстановить права доступа ко всем файлам в папке с помощью RPM

Восстановить права доступа ко всем файлам в папке с помощью RPM

Используя chmod, я случайно изменил все в папке bin, и теперь sudo/su не работает.

Я знаюrpm -q --whatprovidesможет указать, какой RPM предоставляет определенный файл. иоб/мин --setpermsможет восстановить все, что предоставляет RPM.

Есть ли способ восстановить права доступа ко всем файлам в папке с помощью rpm?

решение1

Боюсь, что встроенные функции не применяются к каталогу. Однако следующее может быть решением... предположим, что вы /usr/binрекурсивно испортили разрешения, следующее может помочь:

rpm --setperms $(rpm -qf $(find /usr/bin) | sort -u)

Он просматривает все элементы ниже /usr/binи запрашивает базу данных RPM для соответствующего пакета, дедуплицирует список пакетов RPM и запускается rpm --setpermsдля каждого соответствующего пакета RPM.

Связанный контент