Linux上的man 7 unix声明:
在Linux实现中,文件系统中可见的套接字尊重它们所在目录的权限。可以更改它们的所有者、组和权限。如果进程没有创建套接字所在目录的“写入和搜索(执行)”权限,则新套接字的创建将失败。连接到套接字对象需要读写权限。此行为与许多BSD派生系统不同,后者忽略UNIX域套接字的权限。为了安全起见,可移植程序不应依赖此特性。
哪些系统忽略UNIX域套接字的权限?
发布于 2013-12-19 17:13:13
例如,HP-UX忽略套接字文件的权限。
注意,文档讨论的是套接字文件的权限。所有实现都尊重父目录的权限--可移植程序必须在私有目录中创建套接字,而不是依赖于在公共目录中(通过umask)使用限制性权限的套接字。
发布于 2013-07-15 05:53:40
不知道他们是什么意思
connect()所必需的。如果套接字文件不可写,POSIX似乎不会使要求 connect()失败,而是显式地允许它(如果命名的套接字不可写,connect可能会失败... )。这个“可能”表示可能确实有一些系统不遵守权限,但我怀疑它们是否是BSD派生的。
https://unix.stackexchange.com/questions/83032
复制相似问题