是否可以在Linux或MacOSX上阻止当前绑定的Unix域套接字文件(例如/ tmp)被删除?我想要一个用户可以连接的模式0777套接字,但用户在守护进程运行时无法删除。
现在普通用户可以' rm'套接字,阻止任何其他人访问它,直到重新启动守护程序。好像它应该是“忙碌的”#39;如果它受到约束。
答案 0 :(得分:2)
创建套接字后,您可以创建一个新的子目录并在目录上设置只读权限:
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 /您选择的语言)