是否会再次提示我输入 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

每当我单击桌面快捷方式时,系统都会提示我输入密码并且脚本将运行。

问题:单击桌面快捷方式会提示我输入密码。由于有一个须藤-i在脚本中,系统会再次提示我输入密码吗?

答案1

不,系统不应再次提示您输入密码。由于gksudo.根据我的经验,sudo如果您已经是 root,则永远不会要求输入密码(尽管我找不到明确的记录)。

答案2

您可以使用无密码WD您的文件中的指令sudoers

将此行添加到您的/etc/sudoers文件中

your_login ALL = (root) NOPASSWD: /path/to/your/script

编辑此文件时,您应该使用命令visudo而不是常规文本编辑器。这将在保存更改之前检查语法错误。

相关内容