私は小さなbashスクリプトを書いた。ルートパスワードが必要です。
権限を必要とするコマンドは2つだけです。したがって、現在はスーパーユーザーのパスワードを入力する必要があります。二重- 私はそんなことをしたくありません。
スクリプトをデスクトップに接続しました。つまり、デスクトップで実行しているという意味です。
試してみましたが動作しません。
gksu -u root "iptables -D INPUT 7 && iptables -D INPUT 6"
答え1
個人的には、スクリプトを作成して~/bin
$ PATHまたは別のディレクトリに配置してから実行しますsudo <script_name>
。これを行う方法はいくつかあります。これが私が好む方法です。
mkdir ~/bin
editor ~/bin/myscript
次にスクリプトを作成します。
#!/bin/bash
iptables -D INPUT 7
iptables -D INPUT 6
保存して実行可能にします。
chmod +x ~/bin/myscript
最後に、スクリプトを実行するデスクトップショートカットを作成します。
editor ~/Desktop/myscript
含む:
[Desktop Entry]
Version=1.0
Type=Applicaton
Name=Myscript
Comment=My script that does something cool
Icon=help-info
Terminal=false
Exec=bash -c "sudo ~/bin/myscript"
これにより、sudoパスワードを一度だけ尋ねるメッセージが表示されます。
答え2
sh
両方のコマンドを1つとして実行できます。
sudo sh -c 'iptables -D INPUT 7 && iptables -D INPUT 6'
もちろん、ワンタイムではない場合は、スクリプトを作成する方が便利です。
答え3
sudo -v
「リフレッシュ」権限を使用できます。スクリプトの実行中にバックグラウンドループで使用できます。 (ずっと前に他の場所で改造しましたが、どこか覚えていません。)
sudo_done="/tmp/sudo.finished"
sudo_me() {
while [ ! -f $sudo_done ]; do
sudo -v
sleep 5
done &
}
stop_sudoing() {
touch $sudo_done
sleep 7
rm $sudo_done
}
sudo_me &
# Your script here.
stop_sudoing &
また、GUIプログラムでなければ、gksu
必要なくsudo
大丈夫です。