Python程序的root身份验证

时间:2016-01-04 14:16:50

标签: python linux python-2.7 python-3.x root

我将root密码保存在变量中。如何在我的程序中提供root授权?

这可以是一个例子:

password = "mypassword"
a = BeRoot(password)
if a == True:
    print("now you have become root user")

3 个答案:

答案 0 :(得分:1)

你不应该。
具有足够权限的用户应该在需要更多电源的情况下运行该程序 直接在您的文件中对根密码进行硬编码将是致命的,因为每个人都可以阅读它。当然你可以限制管理员的阅读权限,但无论如何他们都可以运行程序。

答案 1 :(得分:0)

以你尝试的方式做到这一点是不可能的。您的程序已在某些非root用户下启动,您无法在此程序中更改它。您可以使用sudo生成将在root用户名下运行的其他进程。

import os
os.popen("sudo -S somecommand", 'w').write("mypassword")

另请参阅this question(从中剪切代码的位置)。

答案 2 :(得分:0)

尝试配置你的python用户做无密码的sudo

添加/ etc / sudoers

gandalf ALL=(ALL) NOPASSWD: ALL

使用适当的用户名替换gandalf

在python中

import os
os.system("sudo echo 'I am a root'")
在任何要以root身份运行的命令之前

sudo