【发布时间】:2012-02-03 03:47:31
【问题描述】:
我正在编写一个服务器类型的应用程序,它通常由用户运行,但需要绑定到特权 TCP 端口(502 - Modbus TCP)。端口号是行业标准,而我的应用程序是模拟器,所以我无法真正更改为 >1024,因为大多数设备都针对此端口号进行了预编程,无法更改。
“根 EUID 安全策略”保护端口 502 不被除根以外的任何人访问(请参阅 Authentication, Authorization, and Permissions Guide )。因此,使用端口
出于明显的安全原因,我试图避免以 root 身份运行我的模拟器应用程序。 沙盒可以解决这个问题,但我知道它只在 10.7 Lion 中可用,我必须在 10.6 SL 中工作。
有人可以指出在这种情况下什么被认为是端口访问的“最佳实践”,也许还有一些指向示例和进一步阅读的指针。
非常感谢
PS:我看过 Apple 的 Better Authorization Sample,但它已有 5 年历史,涉及由 launchd 运行的特权帮助工具有点麻烦。我希望有一个更好的解决方案,不涉及以 root 身份运行进程。
【问题讨论】:
标签: macos security tcp osx-snow-leopard communication