2

是否有一个特殊的组或功能(类似于 Linux 的 CAP_NET_xxx)可以让用户在 Mac OS X 上以编程方式更改网络设置?我感兴趣的设置是接口的 IP 地址和网络掩码,从 C 程序以编程方式设置(通过 ioctl 调用,发送 ifreq 结构)。我目前使用的用户类型是我的 Mac 笔记本电脑上的股票“管理员”帐户。最终,我希望我的程序将用户一次添加到这样一个方便的组中,以便在随后的运行中用户可以在没有提示的情况下操作接口的 IP 地址。

谢谢

4

2 回答 2

1

Mac OS X 几乎需要root特权才能更改任何网络设置。您需要运行该程序root才能更改设置。正如@edufinn 所提到的,该sudo命令非常适合此。

但是,如果您想以受支持的方式更改配置,您应该尝试以下方法之一:

通过这些 API 更改配置将通知应用程序网络配置已更改,以便它们可以做出适当的反应 - 例如建立/重置连接。

于 2013-09-27T11:50:42.577 回答
0

Mac OS X 是 BSD 系统。您可以使用sudo命令运行程序。从您的帖子中不是很明显,究竟是什么问题?

于 2013-09-27T10:07:54.327 回答