你如何查看文件权限?

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

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

例如

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

这是什么意思 ?

首先-表示常规文件。 它为您提供了对象类型的提示。 它可以具有以下值。

  • d(目录)
  • c(字符设备)
  • l(符号链接)
  • p(命名管道)
  • s(sockets)
  • 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)。

您可以使用长列表:

 ls -l [filename] 

或者统计:

 stat [filename] 

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

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

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

如果你确实使用ACL权限,它会告诉你lsstat不能的权限。

 $ sudo setfacl -mu:oli:r /root $ getfacl /root/ # file: root/ # owner: root # group: root user::rwx user:oli:r-- group::--- mask::r-- other::---