2つのsudoコマンドを実行し、出力をあるコマンドから別のコマンドにパイプしたいと思います。ただし、最近 sudo パスワードを入力しないと、パスワードの入力を求められます。パイプと両方のsudoは混乱しているようで、パスワードを正しく入力できません。
私の解決策は、「sudo ls」または私にパスワードを要求する別のコマンドを実行して、パイプされたコマンドがパスワードを要求せずに機能するようにすることです。これは、他の無意味なコマンドを実行しないようにsudoを実行する「正しい」方法があるかどうか疑問に思います。 sudoのマンページにはこれに対する言及がないようです。
答え1
あなたが探しているのはsudo -v
マニュアルページからです。
-v, --validate
Update the user's cached credentials, authenticating the user
if necessary.
(そして資格情報を明示的に削除することに対応しますsudo -k
。)
答え2
Anthonの回答に加えて、サーバーへのrootアクセス権がある場合は、NOPASSWD:
ユーザーを定義された行に追加できます/etc/sudoers
。追加すると、NOPASSWD:
sudoはパスワードの入力を求めません。
これが現在行の場合:
myuser ALL=(ALL) <commands>
次に変更してください。
myuser ALL=(ALL) NOPASSWD: <commands>
PS:visudo
/ etc / sudoersファイルを編集するために使用されます。