0

所以我已经搜索了这个网站上的所有问题(也许不是全部,但大多数),但没有一个对我正在寻找的问题有完全正确的答案!

我的部分代码在 Python 中设置为:

specialstring = special

if input == "T"
    trash = commandline("sudo dd if=zero blahblah%blah" % specialstring) 

每次我运行命令时,它都会要求输入密码。我不希望它要求密码!我不需要关于在没有密码(或者你的短语)的情况下运行 root 是多么不安全的讲座......我只想知道如何让我的代码不需要密码来运行命令,然后在命令后退出 root 以便我可以正常继续使用我的其余代码。谢谢!

-小白

4

3 回答 3

1

正如您在上一个问题的评论中提到的那样,为了简单起见,您需要像这样添加到您的 sudoers 文件中,只需关闭密码,您就可以在没有密码的情况下运行它

admin ALL = NOPASSWD: ALL

该文件将在 /etc/sudoers 中找到

然后您的 python 脚本将运行良好且不需要密码

是有关如何使用的教程,visudo您将需要使用它来编辑 sudo 密码设置

于 2013-07-12T17:34:33.320 回答
1

您可以通过编辑 /etc/sudoers 文件使“用户”在对特定程序使用 sudo 时不必输入密码。

打开文件并编辑它以包含这一行(用户名在哪里):

<user> ALL = NOPASSWD: /bin/dd
于 2013-07-12T17:35:13.573 回答
0

为什么你仍然需要以 root 身份运行“dd”?'dd' 程序可供所有用户使用,因此运行相同的命令而前面没有'sudo' 就足够了。我能想到的唯一原因是,如果您将“dd”的输出写入其中的文件只能由 root 或其他用户写入。

所以,试试这个:

specialstring = special

if input == "T"
    trash = commandline("dd if=zero blahblah%blah" % specialstring) 
于 2013-07-12T18:04:20.250 回答