NOPASSWDが機能しない場合、Sudoはパスワードを要求しません。

NOPASSWDが機能しない場合、Sudoはパスワードを要求しません。

sudoers一度実行して完了すると自動的に削除されるプログラムがあります。sshセッションでこの関数を呼び出すスクリプトがあります。実行したいコマンドが利用できないときに望みますsudoers

SUDO_ASKPASSパスワードの入力を求めるジョブの実行をスキップできるように、その機能をオーバーライドする方法はありますか?

私の最善の試みは次のとおりです。

SUDO_ASKPASS=/bin/false sudo -A /opt/sbin/mycommand

しかし、それは私を去った。

sudo: pam_authenticate: Conversation error

sudoデフォルトでは、私が実行するコマンドがsudoersにあるかどうかにかかわらず、パスワードの入力を求めたくありません。

-t私の怠惰な修正は、コマンドラインからそれを削除し、ssh実際に端末を使用する必要がないことを望むことです。

もう一つの解決策は私のスクリプトを乾杯し、sudoersASCIIの親指や便利なものを印刷することです。

この問題を解決する簡単な方法はありますか?

ベストアンサー1

あなたは尋ねることができますsudo -l。実行するコマンドのフルパスを返すか、ゼロ以外の状態で終了します。ここでは、出力を無視してステータスの戻り値を確認します。

if sudo -l somecommand... >/dev/null
then
    echo "This is permitted" >&2
else
    echo "You are out of luck today" >&2
fi

おすすめ記事