sudo、超时、mount.cifs 和 systemd-ask-pass

sudo、超时、mount.cifs 和 systemd-ask-pass

我有一个 CIFS 安装命令,我想让用户运行sudo该命令,要求他们输入密码。我用这样的行编写了一个脚本:

/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 指出的,答案是在超时命令中添加 --foreground 选项。

相关内容