我目前正在開發一個可以在多個伺服器中自動運行命令的應用程式。
如果我更改服務配置,我需要重新啟動(或重新載入)它,因此某些命令需要 root 權限。為了使其工作,我已將使用者密碼加密並保存在文字檔案中,以便在 sudo 命令期間使用它。我相信這是一個主要威脅,但我也不希望應用程式以 root 權限運行。
有任何想法嗎?
答案1
您可以限制使用者可以透過哪些命令運行須藤。另外,您可以提供無密碼WD選項中蘇多爾斯文件在該使用者的上下文中,而不是使用加密的密碼“功能”。
以下是允許非特權使用者發出重新啟動命令的範例iptables服務:
geewid ALL = (root) NOPASSWD: /sbin/service iptables restart, /sbin/service iptables reload
命令列表以逗號分隔...
你也可以使用Cmnd_別名特徵:
Cmnd_Alias FOOBAR = /sbin/service iptables restart, /sbin/service iptables reload
geewid ALL = (root) NOPASSWD: FOOBAR