微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Linux上使用Python更改IP设置

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

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

我可以通过parsinginterfaces文件并运行一些bash / shell命令来做到这一点,但我不想重新发明轮子。 我很确定有些人已经有我的问题,做了一些伟大的事情。

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

和bash中的&相反的是什么?

如何忽略脚本中的stdininput

总线错误打开和mmap的文件

ImageMagick多次转换相同的图像?

适当的zsh shell命令擒纵

相对shebang:如何编写一个运行它的可移植解释器的可执行脚本

什么时候阻塞呼叫群失败?

我能否以非规范的方式从标准input读取数据?

我怎样才能从PHP中encryption的PDF提取标题

我在QT创build者有这个错误:无法findqmakeconfiguration文件linux-g ++ – 64

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

修改配置文件( interfaces , host , resolv.conf ,…)

echo到sysfs来改变一些设置

开始/停止某些网络服务

切换防火墙配置(我们也是通过初始化脚本来完成的)

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

然而,我们基于对话框的前端是用Bash编写的,所以我们没有花费太多时间去寻找现有的库,这对你来说肯定是值得的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐