我有一個shell腳本,它在執行時會創建一些文件夾並將文件複製到它們中。我也有一個node.js「程序」,它正是shell腳本所做的。PHP:shell_exec一個shell腳本與shell_exec一個Linux上的程序(權限)
當我使用PHP的shell_exec
調用shell腳本時,我收到一個權限錯誤,它基本上表示shell腳本沒有權限生成文件夾。我做了一些谷歌搜索,結果我必須設置無密碼sudo,誰知道還有什麼欺騙來解決這個問題。
但是,我做了一個完全相同的事情與節點,當我運行節點「程序」通過調用它與shell_exec
就像以前一樣,似乎這個節點「程序」有權做任何事情。
這背後的原因是什麼?爲什麼「程序」在運行時有權限,但shell腳本不能?這是一種合法的方式,例如,文件系統操作(調用PHP中的node.js進行的操作)?因爲如果我嘗試使用PHP來執行相同的操作,那麼煩人的就是無法獲得權限。