Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
以编程方式更改Mac网络设置所需的权限,如普通用户_C_Macos_Networking - Fatal编程技术网

以编程方式更改Mac网络设置所需的权限,如普通用户

以编程方式更改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命令运行程序。从你的帖子中不太

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


谢谢

Mac OS X是BSD系统。您可以使用
sudo
命令运行程序。从你的帖子中不太清楚到底是什么问题?

MacOSX几乎需要
root
权限才能更改任何网络设置。要更改设置,您需要以root用户身份运行程序。正如@edufinn所提到的,
sudo
命令非常适合于此

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

  • 编写脚本
  • 使用,这是框架的一部分
  • 使用该命令,可以轻松获取/设置值

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

为什么否决?一点反馈会有帮助的。