macos - macOS 请求网络读写权限
问题描述
我正在为更大的系统编写 Go 中的服务/模块,但我在 macOS 上遇到了权限问题。我希望这里的任何人都有这方面的经验。
该模块在 macOS 中使用网络接口(读+写),因此需要管理员/root 权限。该模块也是一个进程的形式,它将通过stdio与父进程通信。由于它需要 root 权限,我尝试将其包装在 AppleScript:do shell script [...] with administrator privileges
中,但 osascripts 不会实时返回输出,而是在进程退出时返回 stdio 输出。我需要实时输出stdio,每次启动模块都要写密码很烦人。
所以这给我留下了如何在 Go 中请求网络控制权限的问题。就像您在某些程序上看到的弹出窗口“想要使用您的麦克风”,仅具有网络权限。这可能吗?
如果没有,我该如何解决 macOS 中实时模块需要 root 权限的问题?
解决方案
我找到了一个可行的解决方案;使用 sudo -S 启动脚本,并通过我自己的 GUI 服务向用户询问 root 密码。只要root密码没有存储在任何地方,它就应该是安全的。
推荐阅读
- python - PyQt5打开新窗口w / if else
- azure - Azure 数据工厂 - 选择转换中没有输出 - 映射数据流
- reactjs - 无法使用reactjs仅显示一个对象的数组
- java - 使用 Kotlin 在 android studio 中投影效果
- java - 将批量用户从本地数据库上传到 JAVA 中的 azure b2c 活动目录
- django - 如何使用 Django 在 PostgreSQL 中存储一个非常大的对象
- mysql - 如何查看 django bulk_update/bulk_create 查询?
- ios - DispatchSourceTimer 在 deinit/dealloc 中崩溃
- azure - 将本地 Ubuntu VirtualBox VM 连接到企业网络服务
- javascript - oDataModel.read() 变量可见性:SAPUI5