sudo
ユーザーにパスワードの入力を要求するCIFSインストールコマンドを実行しています。私は次のような行でスクリプトを書いた。
/usr/sbin/mount.cifs -o user=$SUDO_USER,domain=WORKGROUP //stserv.foo.com/share /mnt/share
sudo
ユーザーにスクリプトを提供します。ユーザーにパスワードを入力してインストールすると、これらすべてが正しく機能します。
しかし、タイムアウトを設定したいので、timeout 10s
スクリプトのコマンドの前に追加しました。今実行すると動作しませんsudo
。ユーザーにパスワードプロンプトが表示されますが、パスワードを入力すると、パスワードが端末に「*****」の代わりにプレーンテキストとして表示され、コマンドはタイムアウトするまで中断されます。その後、ユーザーのパスワードをコマンドとして実行しようとします。
この場合、プロセスツリーを見ると次のようになります。
bash───sudo(root)───mount_sleepepi───timeout───mount.cifs───mount.cifs───systemd-ask-pas
systemd-ask-pass
だからこれが邪魔になるようです。
タイムアウト時にこれが発生しないようにする方法はありますか?
答え1
@meuhが指摘したように、答えはtimeoutコマンドに--foregroundオプションを追加することです。