我有一個需要運行的腳本。它正在啟動一個java程式。當我像我一樣運行它時,它似乎工作得很好。如果我輸入“ sudo myscript.sh
”,它就無法正常運作。實際上,我需要將其運行為“ sudo -su otherguy myscript.sh
”
所以這兩個 sudo 版本都不起作用。我從 java 程式中收到錯誤,這讓我認為存在權限問題 - 找不到檔案、無法寫入等等。有趣的是,我將整個目錄結構完全打開,chmod -fR 777 *
試圖弄清楚它是否可以在其他用戶上運行,但我仍然遇到相同的錯誤。
答案1
在沒有看到具體錯誤或所涉及腳本的來源的情況下很難確定,但特別是「找不到文件」問題,對我來說這聽起來像是一個環境問題。
您是否嘗試過在不使用 sudo 的情況下以其他使用者身分執行腳本?您的$PATH
等中可能有一些額外的必要內容,但目前尚未為其他用戶設定。