是否可以在 Linux 或 MacOSX 上防止当前绑定(bind)的 Unix 域套接字文件(例如/tmp 中)被删除?我想要一个模式 0777 套接字,用户可以连接到该套接字,但在守护程序运行时用户无法删除。
现在普通用户可以“rm”套接字,防止其他任何人访问它,直到守护程序重新启动。如果它被绑定(bind),它似乎应该是“忙”。
最佳答案
创建套接字后,您可以创建一个新的子目录并对该目录设置只读权限:
mkdir /tmp/blah
cd /tmp/blah
# do stuff to create /tmp/blah/socket
chmod 555 /tmp/blah
rm /tmp/blah/socket
rm: cannot remove /tmp/blah/socket: Permission denied
(或等效于 C 语言/您选择的语言)
关于linux - 防止文件系统中的 Unix 域套接字文件在套接字绑定(bind)时被删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22825610/