etckeeper、Git checkout 和 /etc 中的损坏文件权限

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 初始化

相关内容