在 Wine 下 sudo 命令需要密码吗?

在 Wine 下 sudo 命令需要密码吗?

/etc/sudoers我在文件中设置了以下行

sana ALL=NOPASSWD: /usr/bin/wine

作为用户sana,当我在 shell 中执行命令时sudo -u randeel /usr/bin/wine cmd /c wscript some.vbs,它会提示输入密码。

这里出了什么问题?我不想在执行命令时提示输入密码。

答案1

sudo表示“超级用户执行”,即“以超级(根)用户身份执行此命令”。如果您未以系统的根用户身份登录,则使用sudo将要求您输入密码,并检查您是否在 sudoers 文件中。如果这两项检查都成功,则允许您以根用户身份执行该命令。

将您自己添加到 sudoers 文件中并不会阻止您输入密码才能使用,它使您能够以您正在体验的方式sudo使用。sudo

答案2

您是否尝试过通过 sudo 以您自己的身份运行 /usr/bin/wine?结果如何?

您的 sudo 配置在语法上没有任何错误,但是,使用 -u 标志可能会干扰您的预期行为。

如果您始终希望以用户 randeel 而不是有效 sana 用户的身份执行 wine,您可能需要调查 sudoers 的 runas_spec。例如:

sana ALL=(randeel) NOPASSWD: /usr/bin/wine

答案3

我认为 sudo 在命令行参数方面有问题。尝试用单引号括住整个 /usr...vbs 区域,并将整个命令添加为 sudoers 中的命令别名(也用单引号括住)

相关内容