如何查看文件权限?

CEN*_*AUR 135 command-line files

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

g_p*_*g_p 168

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

例如

   ls -l acroread 
   -rwxr-xr-x 1 10490 floppy 17242 May  8  2013 acroread
Run Code Online (Sandbox Code Playgroud)


这是什么意思 ?

第一个-代表一个普通文件。它会提示您它是什么类型的对象。它可以具有以下值。

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

例如

   stat -c "%a %n" acroread 
   755 acroread
Run Code Online (Sandbox Code Playgroud)

在这里你可以看到

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


小智 28

您可以使用长列表:

ls -l [filename]
Run Code Online (Sandbox Code Playgroud)

或统计:

stat [filename]
Run Code Online (Sandbox Code Playgroud)

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


Oli*_*Oli 14

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

$ getfacl /root/
# file: root/
# owner: root
# group: root
user::rwx
group::---
other::---
Run Code Online (Sandbox Code Playgroud)

如果您确实使用了 ACL 权限,它会告诉您有关权限ls以及stat不能使用的权限。

$ sudo setfacl -m u:oli:r /root
$ getfacl /root/
# file: root/
# owner: root
# group: root
user::rwx
user:oli:r--
group::---
mask::r--
other::---
Run Code Online (Sandbox Code Playgroud)