我已经pyCharm通过运行测试了需要root访问权限的代码,sudo pycharm.sh但这不是我建议这样做的方式.
我知道可以通过在pyCharm中将python解释器作为sudo运行来调试sudo权限,但是我们该如何做呢?
创建一个执行"sudo python"的shell脚本并转发参数,并将该脚本配置为PyCharm中的Python解释器.
此shell脚本的名称应以python(source:http://forum.jetbrains.com/message/PyCharm-424-3)开头.
我通过/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 仍然可以杀死您的脚本。如果您想要更多安全性,您还可以限制自己的执行权限。
在 PyCharm 新版本中,它有一个配置可以在 root 中运行 Python 解释器,不需要解决方法。见下图。选中复选框:通过 sudo 使用具有 root 权限的解释器执行代码
对于它的价值,我已经管理运行了一个带有 sudo 特权的 python 脚本(在 Ubuntu 16.04 上),如下所示:
在脚本的第一行,像这样定义解释器:
#!/usr/bin/sudo python
使脚本可执行:
chmod +x myscript.py
直接运行脚本,无需python自己指定解释器:
./myscript.py
| 归档时间: |
|
| 查看次数: |
25307 次 |
| 最近记录: |