Допустим, есть два недавно установленных выделенных сервера с идентичным программным обеспечением и пользователями на обоих.
Предположим, что по какой-то причине я хотел бы скопировать схемы владения с одного из этих серверов на другой. Это возможно?
Первый абзац почти не имеет смысла, но ваш вопрос:
Могу ли я восстановить и настроить права доступа к файлам и права собственности, используя другой сервер в качестве ссылки / шаблона?
Короткий ответ: возможно ...
Более длинный ответ заключается в том, что такая стратегия не сработает для каждого файла, который не существует на обоих серверах. Что касается сценариев, вам нужно будет особенно внимательно относиться к специальным файлам, (символическим) ссылкам, специальным символам в именах файлов / каталогов и т. Д. И т. Д.
Но как chmod
и chown
команды поддерживают --reference
флаг. Вы можете указать на существующий файл и chmod
будет использовать разрешения этого файла вместо того, чтобы вам нужно было указывать значения MODE при изменении режима файла.
так же chown
будет использовать владельца и группу этого справочного файла / каталога, а не указывать значения OWNER: GROUP.
Тогда упражнение:
find
команды, которые выполняют chown
и chmod
:(Обратите внимание, что это только концептуальные и непроверенные. Пожалуйста, добавьте ограничения для find
чтобы, например, только найти файлы и каталоги и опустить следующие символические ссылки и тому подобное ... )
Чтобы сбросить права собственности и режимы на поврежденном /etc/
:
cd /template/etc
find . -exec chmod -v --reference='{}' /etc/'{}' \;
find . -exec chown -v --reference='{}' /etc/'{}' \;