尝试设置 Eclipse/PyDev 来调试必须以 root 身份运行的应用程序

问题描述 投票:0回答:1

我想使用 Eclipse/PyDev 调试必须以 root 身份运行的应用程序。我发现了这个:在 PyDev/LiClipse 中使用 root 调试项目,并按照答案 #2 中的说明进行操作,但遇到了问题。特别是当我尝试将项目的解释器设置为指定的脚本时(见下文),Eclipse 抛出了错误。

这是设置:

dnessett@homelserv:~$ cd SaltSource/
dnessett@homelserv:~/SaltSource$ cd scripts/
dnessett@homelserv:~/SaltSource/scripts$ ls -al
total 12
drwxrwxr-x 2 dnessett dnessett 4096 Oct  1 13:51 .
drwxrwxr-x 4 dnessett dnessett 4096 Oct  1 13:49 ..
-rwxrwxrwx 1 dnessett dnessett   29 Oct  1 13:51 python_on_root.sh
dnessett@homelserv:~/SaltSource/scripts$
dnessett@homelserv:~/SaltSource/scripts$ cat python_on_root.sh
#!/bin/bash
sudo python "$@"

dnessett@homelserv:/etc$ sudo cat sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults    env_reset
Defaults    mail_badpass
Defaults    secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
Defaults    use_pty

...

#add python to sudo list
dnessett homelserv=(root)NOPASSWD:/home/dnessett/.pyenv/versions/3.10.15/bin/python

# See sudoers(5) for more information on "@include" directives:

@includedir /etc/sudoers.d

请注意,我修改了 sudoers 文件,因此该条目绑定到计算机名称而不是“ALL”。

当我尝试将脚本添加到项目解释器列表时,

Adding script to interpreters list

我收到以下错误消息:

Errors on trying to add script to interpreters list

任何人都可以看到我做错了什么吗?

python eclipse pydev
1个回答
0
投票

使用 sudo 作为 python 解释器的脚本不起作用。 Eclipse/PyDev 不会接受它。然而,我找到了另一种方法来实现这一目标。使用 pyenv 为项目选择特定的 python 解释器,我深入了解该解释器所在的路径。然后我将其更改为 root 所有权并打开 setuid 位。然后,我将这个 python 解释器路径提供给 Eclipse/PyDev,它会接受它。您必须将 .pydev 软链接到 dotpydev,因为 Eclipse/PyDev 解释器选择协议不会列出点文件。

我仍在测试这种方法,如果成功,我将发表评论(如果不成功,我将发表评论)。现在测试停留在 Eclipse/PyDev 上,找不到应用程序所需的模块。我将这个问题发布在另一个线程中,因为它与在项目中以 root 身份运行 python 代码没有直接关系

© www.soinside.com 2019 - 2024. All rights reserved.