您如何查看文件权限?


79

我想知道如何查看特定文件的权限。我应该在终端中键入哪个命令?但是,我不想更改它。


如果不是重复项,请将其标记为受保护。这是一个重要的问题。
evilMinion

Answers:


110

如果要查看文件的权限,可以使用ls -l /path/to/file命令。

例如

   ls -l acroread 
   -rwxr-xr-x 1 10490 floppy 17242 May  8  2013 acroread


这是什么意思 ?

首先-代表一个常规文件。它提示您它是对象的类型。它可以具有以下值。

  • d(目录)
  • c(字符设备)
  • l(符号链接)
  • p(命名管道)
  • s(插座)
  • b(块设备)
  • D(门)
  • -(常规文件)


r表示读取权限。
w代表写权限,
x代表可执行权限。

第一个组合rwx代表所有者的权限。
组合的第二个组合rwx表示对该组的许可。
第三个组合的rwx代表对文件另一个的许可。


八进制表示法

文件的权限也可以用八进制表示法表示。
八进制表示法

读或r由4表示,
写或w由2 表示。
执行x由1表示。

这三个的总和用于表示许可。

stat 该命令可用于以八进制表示法查看文件许可权

  stat -c "%a %n" /path/of/file

例如

   stat -c "%a %n" acroread 
   755 acroread

在这里你可以看到

对于所有者,它是4 + 2 + 1 = 7(二进制111)。
对于组,它是4 + 0 + 1 = 5(二进制101),
对于其他所有者,它是4 + 0 + 1 = 5(二进制101)。


18

您可以使用任何较长的清单:

ls -l [filename]

或统计:

stat [filename]

统计信息更全面;它向您显示访问,修改和更改时间,以及Inode和大小信息,这些信息可能对您有用或可能不有用。


注意:“取决于”,该命令将显示标准权限,但是,您的访问可以通过其他方式限制,acl,apparmor和selinux都可以将访问限制在ls -l所显示的范围之外。
2014年

7

无论您实际使用ACL权限如何,如果已acl安装软件包,都可以使用getfacl <path>该文件获得相当不错的权限明细。

$ getfacl /root/
# file: root/
# owner: root
# group: root
user::rwx
group::---
other::---

如果你使用ACL权限,它会告诉你有关权限lsstat不能。

$ sudo setfacl -m u:oli:r /root
$ getfacl /root/
# file: root/
# owner: root
# group: root
user::rwx
user:oli:r--
group::---
mask::r--
other::---
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.