1

我在 Linux Mint 13 中有一个启动器脚本,以便我可以单击桌面上的图标来安装我的 NAS。为了在没有密码的情况下使用 /bin/mount 我必须将此行添加到 sudoers:

<username> ALL = NOPASSWD: /bin/mount

挂载 NAS 的脚本非常简单:

#!/bin/bash
if [ 0 = `sudo mount |grep -c nasbox` ]
    then
        sudo mount -a
fi

如果我使用终端,我的脚本无需输入密码即可工作,但是当它从启动器运行时(使用“终端中的应用程序”),它会要求输入密码。如果我给出它接受它并运行的密码 - 所以它必须知道哪个用户正在运行它并允许用户使用 sudo,所以它确实尊重部分 sudoers,但它不尊重 /bin/mount 的 NOPASSWD 关键字. 如何让 NOPASSWD 在这里工作?

4

1 回答 1

0

删除 /var/run/sudo、/var/lib/sudo 和 /var/db/sudo 以清除 sudo 可能缓存的任何内容。然后确保系统的时间和日期设置正确。作为一种(偏执的)安全措施,如果 sudo 确定系统时钟不可靠,它可能会提示输入密码。

在没有持久 RTC 时钟的系统上,这实际上发生在我身上一次。我想我通过删除这些目录并将系统时钟设置为启动时的未来值来解决它。sudo 实用程序现在可能已经改变,所以我不确定这是否仍然适用,但试一试!

于 2012-06-15T18:36:59.683 回答