
是否可以將 sudo 配置為要求 root 密碼而不是使用者密碼?
伺服器配置了一個 root 使用者和一個具有有限權限的簡單使用者(我們稱他為 simple),用於部署伺服器上託管的所有應用程式。用戶 simple 不在 sudoers 列表中,因此
$ sudo command
不起作用,因為 simple 的密碼無法授予他 root 權限。
有時,我需要執行一些需要透過 Capistrano(一種 ruby 部署工具)進行 root 存取的腳本,並且編寫腳本以便以 root 身份登入、運行腳本,然後登出是相當困難的。我希望能夠執行以下語句
$ sudo god restart tasks-group
並請 Capistrano 提示我輸入 root 密碼。目前,Capistrano 提示輸入部署使用者密碼,這顯然是非管理員帳戶。
答案1
我認為你試圖讓 sudo 以一種不被關注的方式工作 - 你不想將“簡單”用戶添加到 sudoers 文件中(如果我錯了,請糾正我)。
在這種情況下,sudo 不是您想要使用的工具,您想要發出su -c <command>
此命令,這將提示您輸入 root 密碼,執行命令,然後退出。
答案2
如果您希望使用者透過自己的密碼或 root 的密碼進行身份驗證,則需要在 sudoers 檔案中設定標誌。該旗幟稱為rootpw
。 Sudo 是一個非常強大的軟體包,請務必查看有關 sudoers(5) 的手冊頁。
答案3
否su
。
sudo
更好的解決方案可能是在部署電腦上使用 capistrano 來執行需要 root 存取權限的任務。
答案4
如果允許部署使用者使用 sudo,那麼此時它確實成為可以以管理方式操作的特權帳戶。這就是 sudo 的目的。還是我誤解了這個問題?