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

mja*_*mja 9 permissions

意外地,当移动到已安装的卷并键入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/
Run Code Online (Sandbox Code Playgroud)

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

我理解部分drwxr-x---,但其他部分+ 3是什么意思?

Ps:我使用的是 Ubuntu 16.04 x86

hee*_*ayl 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
Run Code Online (Sandbox Code Playgroud)

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

作为旁注,如果您看到 的.inplace +,那是针对 SELINUX 上下文的。


3after+表示文件具有的硬链接数。硬链接是文件的名称(准确地说是文件的 inode),因此硬链接的数量表示文件具有的名称数量。

在您的情况下,条目是:

drwxr-x---+ 3 root     root      4096 Sep  3 08:14 ../
Run Code Online (Sandbox Code Playgroud)

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

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

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


检查man ls也。


Zan*_*nna 7

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

getfacl ../
Run Code Online (Sandbox Code Playgroud)

更确切地说

getfacl /media/$USER
Run Code Online (Sandbox Code Playgroud)

就我而言:

$ 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::---
Run Code Online (Sandbox Code Playgroud)

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

ACL 是传统 Linux 权限系统的扩展,允许为单个用户或组设置权限,从而实现更精细的控制。您可以/media这篇文章中阅读更多关于让 root 拥有这个挂载点和使用 ACL 权限的安全原因

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

  • 这只是解释了“+”,它表明除了传统的权限设置之外,该条目的 ACL 也是活动的。但是,这并不能解释“3”。 (2认同)
  • @ByteCommander 哈哈,我没想到他们问的是 3,谢谢! (2认同)