查找单个文件的读/写权限的命令是什么?

查找单个文件的读/写权限的命令是什么?

我知道它ls -l列出了目录中每个文件的权限,但是如果我只想查看特定文件的权限,该命令是什么?

答案1

要获取模式:

stat -c %a file

(其中file也可以是目录)。

注意:这是stat来自 GNU Coreutils 的命令。否则,解决方案取决于系统。

答案2

ls -l要获取单个文件或文件夹提供的所有信息,请使用该-d选项并指定文件:

ls -ld filename

答案3

如果您的意图是根据文件权限执行某些操作,那么在某些情况下您可以考虑简单test(又名[[[)条件语句:

  • -r文件存在且已授予读取权限
  • -w文件存在并授予写入权限
  • -x存在并授予执行权限

例如:

[ -w file ] && echo foo >> file

答案4

由于“权限”不仅仅涵盖现代 Linux 系统上的八进制 unix 权限,因此我想详细说明一下:

除了stat -c %a file@vinc17 建议之外,还有stat -c %C fileRHEL 系统上的 SELinux 上下文以及getfacl file使用 ACL 的卷。

namei -m /path/to/file可能有助于找出文件路径下的所有八进制权限,因为父目录上的错误权限可能会禁止访问。

相关内容