在我的一个目录列表中,我得到以下输出:
drwxrws---+ 7 sip sip 4096 Aug 5 13:25 USSDG
我是该组的成员,sip
但如果我使用我的用户名访问此目录,则无法创建任何文件。有人能指出我们这方面的问题吗?
我特别关心的是最后出现的“+”号。我觉得这与问题有关。上面输出中的“+”代表什么?
答案1
欢迎来到 1989 年美妙的新 Unix 世界!
那些好心的 TRUSIX 员工——就在今年——为命令定义了一个扩展,以便在权限信息并非全部内容ls
时以可视方式指示。该扩展是权限标志后面的一个字符。如您所见,您的输出就是这个字符。这意味着您的文件有这些新奇的rwxrwxrwx
+
ls
+
自主访问控制列表TRUSIX 人对此非常兴奋。因此,您对文件的访问权限是不是您必然可以从这九个权限标志中推断出什么。
为了弥补旧式 Unix 工具在面对新式 ACL 时的这些局限性,TRUSIX 人员还想出了几个新命令,getacl
和setacl
。前者用于查看这些 ACL。我听到有人抱怨说,人们可能更喜欢getfacl
和setfacl
作为名字。
当然,20 年后,9 位权限将显得过时,ACL 将成为常态,并且甚至 20 世纪 90 年代以后出现的类似操作系统也将沿袭 Unix 的路线。 ☺
进一步阅读
- 克雷格·鲁宾(1989-08-18)。 为 Unix 系统选择访问控制列表功能的理由。NCSC-TG-020-A。DIANE 出版。ISBN 9780788105548。
答案2
访问控制列表 (ACL) 用 + 表示。man getfacl
通常是开始阅读的好地方。