簡體   English   中英

以非 root 用戶身份監控運行腳本,獲得“權限被拒絕”

[英]Monit running script as non-root user getting "permission denied"

我正在使用 Monit 來確保我的一個應用程序始終在運行。 Monit 以 root 身份運行,但我的目標是以“myuser”而不是 root 身份運行應用程序。 所以我使用以下配置:

check process myprocess with pidfile "/home/myuser/monitoring/myprocess.pid"
    start program = "/home/myuser/scripts/myprocess.sh start"
    as uid 1000 and gid 1000
    stop program = "/home/myuser/scripts/myprocess.sh stop"
    as uid 1000 and gid 1000

現在,當我以 myuser 身份登錄時,導航到"/home/myuser/scripts"並運行 ./myprocess.sh start ,應用程序將毫無問題地啟動。

但是,當我讓 monit 執行此操作時,程序不會啟動,並且日志顯示 sh 文件中mkdir函數的permission denied

因為我指定了 uid 和 gid 1000 (我從 shell 命令id獲得),monit 不應該像我從 shell 一樣運行它嗎? 我錯過了配置中的任何內容嗎?

我有同樣的錯誤,並通過在我試圖在腳本中修改的文件/目錄中指定絕對路徑來修復它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM