我写了一个python脚本。其中一个功能打开一个端口来监听。要打开一个端口来监听,我需要以超级用户身份进行操作。我不想使用Insert into accounts (acc_id , emp_id)
values (11013, 1);
或root权限等运行脚本。我在这里看到了关于使用sudo
的子流程的答案。据我所知,它不是我想要的子流程。它只是应用程序中的一个功能。
问题:如何以编程方式打开具有超级用户权限的端口?
答案 0 :(得分:0)
你不能这样做。如果可以,那么恶意代码可以随时以root身份免费访问任何系统!
如果您需要超级用户权限,则需要从root帐户运行脚本或使用sudo并输入密码 - 这是拥有用户帐户的重点。
修改
值得注意的是,您可以在python脚本中运行bash命令 - 例如使用子进程模块。
Textbox2.Text = Math.Cos(Textbox1.Text * (Math.PI / 180.0));
这实质上创建了一个新的bash进程来运行给定的命令。
如果这样做,系统将提示用户以与预期相同的方式输入密码,并且权限仅适用于正在创建的子进程 - 而不适用于您从中调用的脚本(这可能是最初的问题。)
答案 1 :(得分:0)
你可以像这样使用你的python脚本中的sudo,所以你不必用sudo或root身份运行脚本。
import subprocess
subprocess.call(["sudo", "cat", "/etc/shadow"])