我将root密码保存在变量中。如何在我的程序中提供root授权?
这可以是一个例子:
password = "mypassword"
a = BeRoot(password)
if a == True:
print("now you have become root user")
答案 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