在 etckeeper 中更新并提交更改的文件权限

在 etckeeper 中更新并提交更改的文件权限

假设我必须更改某些文件的权限以/etc/ssl允许程序读取私钥文件:

$ cd /etc
$ chgrp ssl-cert ssl/private/key.pem
$ chmod g+r ssl/private/key.pem
$ git status
On branch master
nothing to commit, working directory clean

我如何告诉 etckeeper 某些文件权限已更改以便提交它们?我知道权限保留在 中/etc/.etckeeper,但找不到任何方法来更新该文件。

答案1

git除了可执行位信息之外,其本身不提供所有权和特权信息。您的解决方案是使用etckeeper数据。查看文档,我们有:

大多数 VCS(包括 git、mercurial 和 bazaar)仅对文件元数据进行有限的跟踪,能够跟踪可执行位,但不能跟踪其他权限或所有者信息。 (darcs 甚至不跟踪可执行位。)因此文件元数据是单独存储的。除其他杂务外,etckeeper init 还设置了一个预提交挂钩,将有关文件所有者和权限的元数据存储到 /etc/.etckeeper 文件中。该元数据与其他所有内容一起存储在版本控制中,如果需要重新签出存储库,则可以应用该元数据。

因此,您的目录的所有权保留在 中,它也/etc/.etckeeper受到监视。 git;)

  • etckeeper commit应该可以解决你的问题。

根据您的规模,我会考虑更复杂和有用的配置管理工具,如 Salt、Ansible、Puppet、Chef 等。

相关内容