使用sudo权限在pyCharm中调试?

Day*_*yan 15 linux pycharm

我已经pyCharm通过运行测试了需要root访问权限的代码,sudo pycharm.sh但这不是我建议这样做的方式.

我知道可以通过在pyCharm中将python解释器作为sudo运行来调试sudo权限,但是我们该如何做呢?

yol*_*ole 8

创建一个执行"sudo python"的shell脚本并转发参数,并将该脚本配置为PyCharm中的Python解释器.

此shell脚本的名称应以python(source:http://forum.jetbrains.com/message/PyCharm-424-3)开头.

  • 对不起,伙计们,你能告诉我更多关于这个解决方案的信息 我认为你的意思是sh脚本,但PyCharm没有把它用作Python解释器的可能性.谢谢. (5认同)
  • 来自 PyCharm 的信号丢失......停止按钮不再起作用,你会得到僵尸 (2认同)
  • [这里](http://esmithy.net/2015/05/05/rundebug-as-root-in-pycharm/)是问题的完整解决方案 (2认同)

Rob*_*oni 7

我通过/usr/bin/python3在我家复制然后设置cap_net_bind_service功能解决了这个问题:

cp /usr/bin/python3 ~/python35-setcap
sudo setcap 'cap_net_bind_service=+ep' ~/python35-setcap
Run Code Online (Sandbox Code Playgroud)

然后~/python35-setcap在pycharm中作为python解释器使用。

这样,您可以绑定较低的端口,但不是任何 python 3 程序都可以做到这一点,并且 pycharm 仍然可以杀死您的脚本。如果您想要更多安全性,您还可以限制自己的执行权限。


pha*_*pli 6

在 PyCharm 新版本中,它有一个配置可以在 root 中运行 Python 解释器,不需要解决方法。见下图。选中复选框:通过 sudo 使用具有 root 权限的解释器执行代码

在此处输入图片说明

  • 遗憾的是,这仅适用于远程口译员,不适用于本地口译员。 (11认同)
  • 另一个悲伤的消息是它显然已从 PyCharm 2022 中删除(我运行的是 2022.3.1)。 (4认同)

Ste*_*sen 5

对于它的价值,我已经管理运行了一个带有 sudo 特权的 python 脚本(在 Ubuntu 16.04 上),如下所示:

  1. 在脚本的第一行,像这样定义解释器:

    #!/usr/bin/sudo python

  2. 使脚本可执行:

    chmod +x myscript.py

  3. 直接运行脚本,无需python自己指定解释器:

    ./myscript.py

  4. 该脚本将要求输入 sudo 密码并继续以提升的权限运行。