Linux的环境中如何生成srw-rw---- 的文件权限?

发布于 2022-09-07 22:18:29 字数 488 浏览 17 评论 0

在Linux的某个目录中发现了这样一个从前没注意过的权限:
srw-rw----

我知道:

r=4
w=2
x=1

这样如果不考虑开头s,那么两对rw应当意味着属主和所属组可读可写,但不能执行,其它人无该文件权限。

在一个在线演示和计算chmod的网站尝试了多次,即使在增加了suid之后,也只能够生成:
-rwSrwS---
而这样的结果出现的S不但是大写,它也不出现在首位。

对于s以及t我并不怎么了解,但在网上查询chmod这个命令及例子中也根本找不到首位为s的说明和解释。
想问首位s这样的权限是何意义,它是如何通过chmod命令生成的?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

笔芯 2022-09-14 22:18:29

权限位只有九位,第一个字符代表文件类型,s指的是unix domain socket文件,在man ls有说明

绻影浮沉 2022-09-14 22:18:29

根据 @jokester 的回答,我尝试了以下做法。
mkdir chmodTest && cd $_ && touch demofile && ls -lh 生成一个文件demofile,结果如下:
-rw-r--r-- 1 root root 0 Sep 7 22:23 demofile
然后设定UID,chmod 4755 demofile && ls -lh,生成如下结果:
-rwsr-xr-x 1 root root 0 Sep 7 22:23 demofile
出现了s但是并不在第一位。

随后根据 @Feng_Yu 的回答查找man上面ls的说明,没找到。不过在以下链接页面的底部看到了说明和范例,还包括其它几个字母的说明,如dc等。 @Feng_Yu 给出的是正确答案,多谢。
http://www.linuxnix.com/file-...

socket file type

酷到爆炸 2022-09-14 22:18:29

有setuid/gid且没有相应的x就会显示为S (+x就会变成s了)

s的含义可以看man chmod

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文