sudo、タイムアウト、mount.cifs、systemd-ask-pass

sudo、タイムアウト、mount.cifs、systemd-ask-pass

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オプションを追加することです。

おすすめ記事