permissions – 这个dpkg命令究竟做了什么?

我修了一个关于nagios的问题,如描述了here.

命令是:

sudo dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios3/rw
sudo dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3

好吧很明显,这是某种许可改变.但是它发生在哪里?它存放在哪里?它只是一个chmod修改?

最佳答案
dpkg-statoverride是由dpkg维护的数据库的管理工具,其中包含给定文件路径的所有者和模式设置.

在您的问题中调用,它将执行两项操作:如果存在(–update),则立即为给定文件设置owenrship / mode并在覆盖文件(–add)中存储新条目.后者确保创建或修改列出文件的进一步dpkg操作将使用覆盖值而不是包定义的值.

这些覆盖是永久性的.它们通常胜过正常的chmod / chown,因为它可以让您在更新或重新安装软件包时不必手动重置权限.

可以通过运行dpkg-statoverride –list列出现有替代.

转载注明原文:permissions – 这个dpkg命令究竟做了什么? - 代码日志