首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >X(执行)权限在unix套接字上做什么?

问X(执行)权限在unix套接字上做什么?
EN

Unix & Linux用户
提问于 2018-06-28 11:37:34
回答 1查看 7.5K关注 0票数 18

根据我的经验,没有特权的用户不能访问unix套接字,如果没有x位设置,他/她就不能拥有。这一点到底是做什么的?

EN

回答 1

Unix & Linux用户

发布于 2018-06-28 13:32:45

没什么,我看得出来。

Linux 手册页unix(7)表示,包含套接字的目录的权限通常适用(即需要+x on /foo连接到/foo/sock,在/foo上使用+w来创建/foo/sock),并且写入权限控件连接到套接字本身:

在Linux上,连接到流套接字对象需要对该套接字具有写权限;向数据报套接字发送数据报同样需要对该套接字具有写权限。

显然,其他一些系统的行为方式不同:

POSIX没有说明权限对套接字文件的影响,在某些系统(例如,旧的BSD)上,套接字权限被忽略。为了安全起见,可移植程序不应依赖此特性。

unix(4)论FreeBSD描述了类似的需求。Linux手册页没有说明某些系统上的套接字访问是否也会忽略目录权限。

从套接字中删除x位似乎会在尝试执行套接字时产生不同的错误,但这并没有太大的实际差别:

代码语言:javascript
复制
$ ls -l test.sock
srwxr-xr-x 1 user user 0 Jun 28 16:24 test.sock=
$ nc -U ./test.sock
Hello
$ ./test.sock
bash: ./test.sock: No such device or address
$ chmod a-x test.sock
$ nc -U ./test.sock
Hello
$ ./test.sock
bash: ./test.sock: Permission denied

(我还测试过,在Debian的Linux4.9.0上访问套接字时,似乎只有w位起着重要作用。)

也许您所指的套接字从用户中删除了所有权限位,或者您指的是目录上的x位?

票数 13
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/452422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档