“ ls -al”的结果是“ + 3”是什么意思?


9

偶然地,当移至已安装的卷并键入ll(的别名ls -laF

:/media/username/DATA$ ll
total 153
drwxrwxrwx  1 username username  8192 Sep  1 20:32 ./
drwxr-x---+ 3 root     root      4096 Sep  3 08:14 ../
drwxrwxrwx  1 username username 12288 Jul 26 22:29 documents/
drwxrwxrwx  1 username username 16384 Sep  2 02:01 downloads/

我有这个有趣的部分: drwxr-x---+ 3

我了解这部分drwxr-x---,但其他部分+ 3意味着什么?

ps:我正在使用Ubuntu 16.04 x86


1
您的意思是您对权限字符串和所有者名称之间的数字感到好奇吗?
字节指挥官

Answers:


14

+正常的权限位后表示特别许可是在文件/目录下的效果。特殊权限是POSIX ACL(访问控制列表)。

您可以使用来设置ACL规则,setfacl并通过查看已设置的规则getfacl

例:

% ls -l foo.sh
-rwxrwxr-x 1 foobar foobar 206 Aug 28 02:08 foo.sh

% setfacl -m u:spamegg:x foo.sh

% ls -l foo.sh                
-rwxrwxr-x+ 1 foobar foobar 206 Aug 28 02:08 foo.sh

% getfacl foo.sh
# file: foo.sh
# owner: foobar
# group: foobar
user::rwx
user:spamegg:--x
group::rwx
mask::rwx
other::r-x

检查man getfaclman setfacl获得更多想法。

附带说明一下,如果您看到的.+,则表示SELINUX上下文。


3之后+表示硬链接的文件有编号。硬链接是文件的名称(精确地是文件的inode),因此硬链接的数量指示文件具有的名称的数量。

您的情况是:

drwxr-x---+ 3 root     root      4096 Sep  3 08:14 ../

它用于当前目录(/media/username/DATA)的父目录,因此..指向/media/username目录。

现在,在Linux中,每个目录至少具有两个硬链接,一个是硬链接.(当前目录,指向自身的链接),另一个是它在父目录中的条目(名称-索引映射),这是从Unix继承的。

您的硬链接数为3 /media/username,这意味着/media/username有一个子目录(默认为2,再加上一个用于..子目录的条目)。如果有2个子目录,则由于两个子目录都映射..回父目录,因此硬链接数将为4 。


man ls也检查一下。


1
那是一个目录,所以链接数是子目录数加两个。
凯文

@Kevin添加了详细说明。
heemayl

7

+权限字符串的末尾表示ACL(访问控制列表)权限。您可以确切地看到它所允许的权限以及拥有哪些用户

getfacl ../

更确切地说

getfacl /media/$USER

就我而言:

$ getfacl /media/zanna
getfacl: Removing leading '/' from absolute path names
# file: media/zanna
# owner: root
# group: root
user::rwx
user:zanna:r-x
group::---
mask::r-x
other::---

这将显示所有者和组,然后显示未命名的“用户”(所有者)组和世界(其他)权限以及用户zanna的额外条目。“掩码”限制了组和命名用户的有效权限。

ACL是对传统Linux权限系统的扩展,该系统允许为单个用户或组设置权限,从而实现更好的控制。你可以阅读更多有关使用root拥有该挂载点的安全方面的原因而在使用ACL权限/media这个岗位

3是毫无关系的+。它指示文件的硬链接数。


2
+不过,这仅能解释原因,除了传统的权限设置之外,它还表示该条目的ACL处于活动状态。但是,这不能解释3
字节指挥官

2
@ByteCommander呵呵没想到他们问的是3,谢谢!
赞纳
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.