etckeeper, Git checkout и нарушенные права доступа к файлам в /etc
Я хотел выяснить, почему после коммита etckeeper у меня возникла проблема с перезагрузкой (уже решенная благодаря этой замечательной вещи).
Я играл с Etckeeper, сделал git checkout some_commit_sha
для быстрого просмотра, а затем git checkout master
,
И, похоже, мой файл разрешений в /etc
были сломаны после этих манипуляций. Все файлы, включая ssh_host_rsa_key passwd-, shadow-
мы rw-r--r--
, Я не знал, что Git не сохраняет права доступа к файлам.
Теперь я все исправил (надеюсь, я ничего не пропустил).
Каков был правильный способ получить более ранние состояния /etc
, оглянись вокруг и вернись к мастеру с нужными правами доступа к файлам?
1 ответ
Согласно документации (см. Ниже) вы должны запустить
etckeeper init
после проверки любых файлов вернитесь, чтобы восстановить разрешения. git не может хранить права доступа к файлам напрямую, поэтому он обрабатывается etckeeper, и вам нужно снова запустить init, чтобы восстановить их после проверки.
Раздел документации,
Вы можете использовать любые команды git, которые вам нравятся, но имейте в виду, что, если вы проверяете другую ветку или старую версию, git работает непосредственно в вашей системе / etc. Если вы решили проверить ветку или тег, убедитесь, что вы снова запустили "etckeeper init", чтобы получить какие-либо изменения метаданных:
git checkout april_first_joke_etc
etckeeper init