Linux
將 Systemd 服務配置為以 root 訪問權限執行
我在 Raspbian Jessie 上使用 Systemd 設置了 node.js 應用程序形式的服務,它使用自己的使用者帳戶。但是,我發現該服務沒有正確執行,因為它沒有必要的權限。我安裝的其中一個節點模組需要 root 訪問權限。如果我使用 sudo 手動執行應用程序,一切正常。
有沒有辦法告訴 systemd 用 sudo 執行服務?
告訴 systemd 執行服務
sudo
?
sudo
與它無關。通常,您指示 systemd 以特定使用者/組的身份執行服務,並在單元文件的部分中使用
User=
andGroup=
指令。[Service]
將它們設置為 root(或刪除它們,因為預設以 root 身份執行)。
需要明確的是,
systemd
系統服務預設以 root 身份執行,但預設行為與使用User=root
.正如在衍生程序中的環境變數中所述,這些變數僅在設置時才
User=
設置:$USER, $LOGNAME, $HOME, $SHELL
我進行了測試以確認這一發現。因此,如果您想以需要上述變數之一的 root 身份執行 systemd 服務,則需要設置
User=root
.