Sudo没有密码来运行dd命令Python

时间:2013-07-12 17:27:54

标签: python passwords command sudo dd

所以我搜索了这个网站上的所有问题(可能不是全部,但大多数),并且他们都没有找到我正在寻找的正确答案!

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

specialstring = special

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

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

-NOOB

3 个答案:

答案 0 :(得分:1)

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

admin ALL = NOPASSWD: ALL

该文件将在/ etc / sudoers

中找到

然后你的python脚本运行正常,不需要密码

Here是有关如何使用visudo的教程,您将 用于编辑sudo密码设置

答案 1 :(得分:1)

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

打开文件并对其进行编辑以包含此行(用户名在哪里):

<user> ALL = NOPASSWD: /bin/dd

答案 2 :(得分:0)

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

所以,试试这个:

specialstring = special

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