【发布时间】:2015-04-21 08:17:57
【问题描述】:
我需要提供一个 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 上运行
【问题讨论】:
-
您能否澄清一下您是想修改网络配置文件还是想像
ifconfig那样即时更改IP 地址和子网掩码? -
我希望例如能够更改本地 IP 地址(例如从 192.168.1.10/24 到 192.168.1.11/24)
标签: python linux ubuntu network-programming