Назад | Перейти на главную страницу

etckeeper, Git checkout и неработающие права доступа к файлам в / etc

Я хотел понять, почему после etckeeper commit, у меня возникла проблема с перезагрузкой (уже решена благодаря этой замечательной штуке).

Я играл с etckeeper, делал git checkout some_commit_sha для беглого взгляда, а затем git checkout master.

И, похоже, мои права доступа к файлам в /etc были сломаны после этих манипуляций. Все файлы, включая ssh_host_rsa_key passwd-, shadow- мы rw-r--r--. Я не знал, что Git не сохраняет права доступа к файлам.

Сейчас все исправил (надеюсь, ничего не пропустил).

Каким был правильный способ получить более ранние состояния /etc, осмотритесь и вернитесь к мастеру с правильными правами доступа к файлам?

Согласно документации (см. Ниже) вы должны запустить

etckeeper init

после проверки любых файлов обратно, чтобы восстановить разрешения. git не может напрямую сохранять права доступа к файлам, поэтому он обрабатывается etckeeper, и вам нужно снова запустить init, чтобы восстановить их после проверки.

Раздел документации,

Вы можете использовать любые команды git, которые вам нравятся, но имейте в виду, что если вы проверяете другую ветку или старую версию, git работает непосредственно с файлом / etc. Если вы все же решите проверить ветку или тег, убедитесь, что вы снова запустите «etckeeper init», чтобы получить любые изменения метаданных:

git checkout april_first_joke_etc

etckeeper init