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スクリプトでパスワードを再入力するように求められますか?

答え1

いいえ、パスワードの再入力を求められません。gksudo私の経験では、すでにsudoルートである場合は、パスワードを求めるメッセージはまったく表示されません(たとえ明示的に文書化されているものは見つかりませんが)。

答え2

あなたはそれを使用することができますパスワードなしWDディレクティブをファイルに入れますsudoers

/etc/sudoersファイルにこの行を追加する

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

visudoこのファイルを編集するときは、プレーンテキストエディタの代わりにコマンドを使用する必要があります。変更を保存する前に構文エラーを確認してください。

関連情報