Debian

如何在軟體包安裝期間更改文件夾權限

  • December 20, 2021

我正在製作一個 deb 包來安裝自定義應用程序。我將所有文件/文件夾的所有權更改為 root,以避免在安裝過程中收到警告,並且在 Ubuntu 中一切執行順利,因為 Ubuntu 將文件/文件夾的所有權更改為安裝軟體包的使用者。

但是當我在 Debian 上安裝時,root 仍然是所有者。應用程序使用文件夾寫入數據,這就是問題所在。以標準使用者身份執行,該應用程序無權在文件夾上寫入。

現在,我應該如何處理這個問題?我應該在 deb 包上製作一個安裝後腳本chmod o+w嗎?我應該使用這些權限集打包目錄嗎?

或者有什麼方法可以將文件的所有者設置為自動安裝應用程序的使用者(就像 Ubuntu 一樣)?

我不確定 Ubuntu 中的行為是什麼,但通常對於.deb包含具有非標準權限的文件或目錄的包,您需要確保在執行 dh_fixperms設置這些權限。如果您使用的是dh-style rules,則可以按如下方式執行此操作:

override_dh_fixperms:
       dh_fixperms
       chmod 777 yourfolder

或者

execute_after_dh_fixperms:
       chmod 777 yourfolder

你也可以這樣做postinst

if [ "$1" = "configure" ]; then
   chmod 777 yourfolder
fi

rules方法更簡單(至少,我更喜歡這樣做而不是依賴維護者腳本)。

引用自:https://unix.stackexchange.com/questions/265462