未以 su 身分登入時無法執行二進位文件

未以 su 身分登入時無法執行二進位文件

我正在嘗試 Linux,並開始使用終端機。我正在嘗試在檔案系統的根目錄上建立資料夾,但我的普通用戶沒有權限這樣做。

跑步時su root mkdir u01;系統提示我輸入憑證,然後終端返回錯誤“無法執行二進位檔案”

如果我運行su root然後mkdir u01,該命令工作正常。

有任何想法嗎?

我使用的是 Oracle Linux 6.5

答案1

問題是您對 的呼叫su

作為另一個使用者執行命令的正確語法是:

su [username] -c "[command]"

請注意命令周圍的引號;保持命令的其他參數正確執行很重要。

答案2

總的來說,不應允許「普通」使用者在檔案系統的根目錄中建立檔案或資料夾。允許它會導致各種安全問題。

當您執行“su root mkdir u01”時,您的系統會要求您輸入 root 密碼。您可能應該運行的是“sudo mkdir u01”,它會詢問您的普通用戶密碼。請注意,這假設 sudo 已正確配置為允許這樣做。

答案3

如果您已sudo正確配置,這是建立該目錄的正確方法:

sudo mkdir u01

如果 sudo 由於某種原因不起作用(或甚至沒有安裝 - 不太可能,但可能),您可以su與命令參數一起使用-c,如下所示:

su -c "mkdir u01"

(請注意,必須引用命令才能正確傳遞給su)。

sudo使用vs之間的重要區別su:當提示輸入密碼時,sudo需要您的使用者帳戶密碼,但su需要 root 帳戶密碼。在許多 Linux 發行版(尤其是 Ubuntu/Debian 系列)上,甚至可能從未指派 root 帳號密碼,因此su可能會失敗(除非您事先為 root 帳號指派了密碼)。

相關內容