Linux的环境中如何生成srw-rw---- 的文件权限?
在Linux的某个目录中发现了这样一个从前没注意过的权限:
srw-rw----。
我知道:
r=4
w=2
x=1
这样如果不考虑开头s,那么两对rw应当意味着属主和所属组可读可写,但不能执行,其它人无该文件权限。
在一个在线演示和计算chmod的网站尝试了多次,即使在增加了suid之后,也只能够生成:
-rwSrwS---
而这样的结果出现的S不但是大写,它也不出现在首位。
对于s以及t我并不怎么了解,但在网上查询chmod这个命令及例子中也根本找不到首位为s的说明和解释。
想问首位s这样的权限是何意义,它是如何通过chmod命令生成的?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
权限位只有九位,第一个字符代表文件类型,s指的是unix domain socket文件,在man ls有说明
根据 @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的说明,没找到。不过在以下链接页面的底部看到了说明和范例,还包括其它几个字母的说明,如d、c等。 @Feng_Yu 给出的是正确答案,多谢。
http://www.linuxnix.com/file-...
有setuid/gid且没有相应的x就会显示为S (+x就会变成s了)
s的含义可以看man chmod