Linux
如何創建一個可以訪問正在安裝軟體包的使用者的目錄?
我正在 Debian 上打包我的一個項目。該項目希望在保存數據文件的位置
XDG_DATA_HOME
或位置創建一個目錄。~/.local/share/
現在我正在嘗試使用包postinst
附帶的腳本創建和提供初始數據.deb
。問題是由於軟體包是以 root 身份安裝的,因此該目錄是以 root 身份創建的,並且安裝它的使用者將沒有對其的寫權限。我的問題是如何創建目錄,以便安裝軟體包的使用者對其及其所有子目錄具有寫權限?
你問的東西沒有意義。進行安裝的使用者始終是 root。如果您希望新使用者自動將這個文件放在他們的主目錄中,那麼您可以將它添加到 /etc/skel。如果現有使用者沒有它,那麼程序需要能夠處理它,可能通過自動創建它,可能通過從 /etc/skel 或 /usr/share 複製預設值。
據我所知,這
postinst
只是一個 shell 腳本,所以你可以在這個腳本中做任何你想做的事情(有理由)。也許之後對目錄執行chown
或chmod
操作會按照您想要的方式設置權限。debian/postinst: ... configure) the_user="xyz" #Creating the user if it does not exist if ! getent passwd $the_user > /dev/null; then adduser $the_user fi chown -R $the_user /path/to/some/file