1つのコマンドでsu + sudoを実行する方法は?

1つのコマンドでsu + sudoを実行する方法は?

私の息子(sudoerではない)がログインしています。彼のターミナル、時々インターネットのブロックを解除したい場合がありますiptables(再起動後に再び表示される;))。

son$ su dad
<enter password>
dad$ sudo iptables -D OUTPUT -m owner --uid-owner son -j REJECT
<re-enter password>

1行にパスワードを一度だけ入力する方法はありますか?

私は同様のことを試しましたが、su dad -c "sudo iptables -D OUTPUT -m owner --uid-owner son -j REJECT"成功しませんでしたsudo: no tty present and no askpass program specified

(おそらく.shを使用できますが、パスワードを2回入力する問題は解決しませんか?)

ベストアンサー1

@roaimaのコメントのおかげで、rootのパスワードを作成しました(Ubuntuではデフォルトでは無効になっています)。sudo passwd rootその後、次の簡単な方法を使用できます。

su -c "iptables -D OUTPUT -m owner --uid-owner son -j REJECT"
<enter password only once>

おすすめ記事