gpt4 book ai didi

python - 在 Linux 上使用 Python 更改 IP 设置

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:52:37 25 4
gpt4 key购买 nike

我需要提供一个 Python 程序,允许用户动态更改其设备的网络参数(IP、掩码、DNS 和网关)。例如,将他的 IP 从 192.168.1.10/24 更改为 192.168.1.15/24。我不想以 root 身份运行我的程序 - 但我可以给我的用户一些特定的权限(例如将用户添加到可以修改 /usr/network/interfaces 文件的组) .

我发现的是 pynetlinux库,但它只提供 IP 和掩码修改,需要以 root 身份运行(或者我可能误用了它)。

我可能可以通过解析 interfaces 文件并运行一些 bash/shell 命令来完成,但我不想重新发明轮子。我很确定有些人已经遇到了我的问题并且做了一些很棒的事情。

我在 Ubuntu 12.04 上运行。我需要我的程序也能在 Ubuntu 14.04、CentOS 和 RedHat 上工作

最佳答案

您应该尝试创建一个完整的程序必须执行的操作列表。我发现在类似的设置中,为了响应用户交互,我们必须:

  • 修改配置文件(interfaceshostresolv.conf,...)
  • 回显 sysfs 以更改一些设置
  • 启动/停止某些网络服务
  • 切换防火墙配置(我们也是通过初始化脚本完成的)

我们最终创建了一个具有定义良好接口(interface)的 Bash 脚本,某个非特权用户可以从任何其他程序使用 sudo 调用该接口(interface)。

但是我们基于对话框的前端已经用 Bash 编写,所以我们没有花太多时间寻找现有的库,这在您的案例中肯定是值得的。

关于python - 在 Linux 上使用 Python 更改 IP 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29766601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com