是否会再次提示我输入 sudo 密码?

use*_*229 2 password sudo time

这是我打算做的:

#!/bin/bash

sudo -i <<'EOF'
iptables-save | awk '/^[*]/ { print $1 } 
                 /^:[A-Z]+ [^-]/ { print $1 " ACCEPT" ; }
                 /COMMIT/ { print $0; }' | iptables-restore
EOF
Run Code Online (Sandbox Code Playgroud)

我将保存上述内容并将其命名为 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
Run Code Online (Sandbox Code Playgroud)

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

问题:单击桌面快捷方式提示我输入密码。由于脚本中有sudo -i,是否会再次提示我输入密码?

lk-*_*lk- 6

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