是否有特殊的组或功能(类似于Linux的“CAP_NET_xxx”)可以让用户在Mac OS X上以编程方式更改网络设置?我感兴趣的设置是接口的IP地址和网络掩码,从C程序以编程方式设置(通过ioctl调用,发送ifreq结构)。我目前使用的用户类型是我的Mac笔记本电脑上的股票“管理员”帐户。最后,我希望我的程序能够将用户添加到一个方便的组中,以便在后续运行中用户可以在不提示的情况下操作接口的IP地址。
由于
答案 0 :(得分:1)
Mac OS X几乎需要root
权限才能更改任何网络设置。您需要以root
运行程序才能更改设置。正如@edufinn所提到的,sudo
命令对此非常理想。
但是,如果要以受支持的方式更改配置,则应尝试以下方法之一:
scutil
command。networksetup
命令,可以轻松获取/设置值。通过这些API更改配置将通知应用程序网络配置已更改,以便他们能够做出适当的反应 - 例如建立/重置连接。
答案 1 :(得分:0)
Mac OS X是BSD系统。您可以使用sudo
命令运行程序。从你的帖子中发现什么是一个问题并不是很明显?