以编程方式更改Mac网络设置所需的权限,如普通用户
是否有一个特殊的组或功能(类似于Linux的CAP_NET_xxx)允许用户在Mac OS X上以编程方式更改网络设置?我感兴趣的设置是接口的IP地址和网络掩码,通过C程序以编程方式设置(通过ioctl调用,发送ifreq结构)。我目前使用的用户类型是Mac笔记本电脑上的一个股票“管理员”帐户。最后,我希望我的程序能够将用户添加到这样一个方便的组中,以便在后续的运行中,用户可以在没有提示的情况下操作接口的IP地址以编程方式更改Mac网络设置所需的权限,如普通用户,c,macos,networking,C,Macos,Networking,是否有一个特殊的组或功能(类似于Linux的CAP_NET_xxx)允许用户在Mac OS X上以编程方式更改网络设置?我感兴趣的设置是接口的IP地址和网络掩码,通过C程序以编程方式设置(通过ioctl调用,发送ifreq结构)。我目前使用的用户类型是Mac笔记本电脑上的一个股票“管理员”帐户。最后,我希望我的程序能够将用户添加到这样一个方便的组中,以便在后续的运行中,用户可以在没有提示的情况下操作接口的IP地址 谢谢Mac OS X是BSD系统。您可以使用sudo命令运行程序。从你的帖子中不太
谢谢Mac OS X是BSD系统。您可以使用
sudo
命令运行程序。从你的帖子中不太清楚到底是什么问题?MacOSX几乎需要root
权限才能更改任何网络设置。要更改设置,您需要以root用户身份运行程序。正如@edufinn所提到的,sudo
命令非常适合于此
但是,如果要以受支持的方式更改配置,应尝试以下方法之一:
- 编写脚本
- 使用,这是框架的一部分
- 使用该命令,可以轻松获取/设置值
通过这些API更改配置将通知应用程序网络配置已更改,以便它们能够做出适当的反应,例如建立/重置连接。为什么否决?一点反馈会有帮助的。