我无法理解ls
关于具有rw-
模式的文件的手册。这是引用:
如果是r,则文件可读; if - ,它不可读。
如果是,则文件是可写的; if - ,它不可写。
- 醇>
以下第一项适用:
S如果在所有者权限中,该文件不可执行且设置了set-user-ID模式。如果在组权限中,该文件不可执行且设置了set-group-ID模式。
s如果在所有者权限中,该文件是可执行的,并且设置了set-user-ID模式。如果在组权限中,该文件是可执行的并且设置了setgroup-ID模式。
x文件是可执行的,或者目录是可搜索的。
- 该文件既不可读,可写,可执行,也不是set-user-ID,也不是set-group-ID模式,也不粘。
特别是,似乎两个粗体部分相互矛盾:根据第一部分,由于模式以r
开头,因此文件是可读的,但根据最后一个,文件是不可读。但是,显然情况并非如此。
那么,第三部分对文件的含义是什么"既不可读也不可写......"?
答案 0 :(得分:2)
您的ls
手册页不是标准。 POSIX standard man page for ls以这种方式执行不字。以下是相关摘录:
每个字段应有三个字符位置:
如果是“r”,则文件可读; if' - ',文件不可读。
如果是'w',则文件是可写的;如果' - ',则文件不可写。
- 醇>
以下第一项适用:
取值
如果在< 所有者权限>中,该文件不可执行,并且设置了set-user-ID模式。 如果在< 组权限>中,该文件不可执行且设置了set-group-ID模式。
取值
如果在< 所有者权限>中,该文件是可执行的,并且设置了set-user-ID模式。如果 在< 组权限>中,文件是可执行的,并且设置了set-group-ID模式。
Ť
如果在< 其他权限>并且文件是目录,搜索权限不是 授予他人,并设置限制删除标志。
吨
如果在< 其他权限>并且文件是目录,授予搜索权限 对其他人,并设置限制删除标志。
X
该文件是可执行的或目录是可搜索的。
-
“S”,“s”,“T”,“t”或“x”的属性均不适用。
我认为这更有意义。
类型未在权限位中表示 - 您只查看ls(1)
报告的内容,而不是如何存储。传统上,模式和类型一起使用32位,但这取决于文件系统,并且在许多情况下它现在是64位。 inode中的权限仅为9位。
请参阅man 2 stat
并搜索st_mode
。它是ls(1)
可能使用的低级C例程。在某些平台上,它也可用作命令行程序man 1 stat
。
答案 1 :(得分:0)
报价中的每个编号点依次适用于三个字符中的每一个。
如果第一个字符为' r',则该文件可读
如果第二个字符为' w',则文件可写
如果第三个字符是' x / s / S',则该文件具有列出的属性
如果字符是' - ',则该文件没有该属性。
前三个字符(在目录标识符之后)适用于用户权限,后三个字符适用于组权限,第三个字符适用于其他所有人。