Permissions

這個 dpkg 命令究竟做了什麼?

  • December 4, 2014

我修復了此處描述的 nagios 的許可問題。

命令是:

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)並在覆蓋文件中儲存一個新條目(--add)。後者確保dpkg創建或修改列出的文件的進一步操作將使用覆蓋值而不是包定義的值。

這些覆蓋是永久性的。它們通常比正常chmod/chown情況要好,因為它使您不必記住在更新或重新安裝軟體包時手動重置權限。

現有的覆蓋可以通過執行列出dpkg-statoverride --list

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