在桌面启动器脚本中,NOPASSWD无效

时间:2012-06-15 15:09:24

标签: linux launcher sudoers

我在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在这里工作?

1 个答案:

答案 0 :(得分:0)

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

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