Sudo
是否會再次提示我輸入 sudo 密碼?
這是我打算做的:
#!/bin/bash sudo -i <<'EOF' iptables-save | awk '/^[*]/ { print $1 } /^:[A-Z]+ [^-]/ { print $1 " ACCEPT" ; } /COMMIT/ { print $0; }' | iptables-restore EOF
我將保存以上內容並將其命名為 cleariptables.sh。我將其設置為執行檔。
它將被放置在以下路徑中名為 bin 的文件夾中:/home/cymbal/bin/
(其中 cymbal 是使用者名)
我將在桌面上創建一個 cleariptables.sh 的快捷方式。快捷方式的內容將是:
[Desktop Entry] Version=1.0 Type=Application Terminal=true Icon[en_US]=nm-device-wired Name[en_US]=ClearIPtables Exec=gksudo /home/cymbal/bin/cleariptables.sh Comment[en_US]=Flush iptables filters Name=ClearIPtables Comment=Flush iptables script Icon=nm-device-wired
每當我點擊桌面快捷方式時,都會提示我輸入密碼,然後腳本就會執行。
問題:點擊桌面快捷方式提示我輸入密碼。由於腳本中有sudo -i,會再次提示我輸入密碼嗎?
您可以在文件中使用NOPASSWD指令。
sudoers
將此行添加到您的
/etc/sudoers
文件中your_login ALL = (root) NOPASSWD: /path/to/your/script
編輯此文件時,您應該使用
visudo
命令而不是正常文本編輯器。這將在保存更改之前檢查語法錯誤。
不,不應再次提示您輸入密碼。由於
gksudo
. 根據我的經驗,sudo
如果您已經是 root,則永遠不要要求輸入密碼(儘管我找不到明確的文件)。