如何控制由launchdpipe理的套接字的文件所有权

我正在编写一个守护进程,通过UNIX套接字与同一项目中的其他守护进程进行通信。 出于安全的考虑,这些守护进程只能在自己之间进行交stream(而且不能通过其他进程连接),这一点至关重要。

我打算通过标准的UNIX文件所有权和模式来限制这种访问。 但是我无法在launchd.plist文档中的任何地方find如何控制这些文件!

查看现有的服务,您可以指定一个SockPathMode键,它采用十进制模式; 大。 但是,我如何指定创build的套接字的实际用户和组? 我注意到,在我的系统上由launchdpipe理的一些套接字由root:daemon ,一些由root:wheel和一些(例如ssh-agent)由stouset:wheel 。 然而,我不能为我的生活决定如何以及在哪里指定这些所有权。

这里是与这个有关的问题: https : //stackoverflow.com/questions/7984657/run-daemon-as-another-user-on-mac-os-x如果一个守护进程作为一个专门的用户运行,然后所有的文件描述符和套接字将由该用户拥有。 然后只需将限制性访问权限添加到这些描述符。