Git

etckeeper、Git checkout 和 /etc 中的損壞文件權限

  • February 16, 2016

我想弄清楚為什麼在etckeeper送出之後,我在重啟時遇到了問題(由於這個偉大的事情已經解決了)。

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

引用自:https://serverfault.com/questions/286560