编辑
2023-08-06
🚀运维部署
00
请注意,本文编写于 683 天前,最后修改于 225 天前,其中某些信息可能已经过时。

目录

Linux权限位(超详细)
第 1 位代表文件类型。
第 2~4 位代表文件所有者的权限。
第 5~7 位代表文件所属组的权限,同样拥有"rwx"权限。
第 8~10 位代表其他人的权限,同样拥有"rwx"权限。

Linux权限位(超详细)

前面讲解 ls 命令时,我们已经知道长格式显示的第一列就是文件的权限,例如:

bash
[root@localhost ~]# ls -linstall.log -rw-r--r--.1 root root 24772 1月 14 18:17 install.log

第一列的权限位如果不计算最后的"."(这个点的含义我们在后面解释),则共有 10 位

第 1 位代表文件类型。

Linux 不像 Windows 使用扩展名表示文件类型,而是使用权限位的第 1 位表示文件类型。虽然 Linux 文件的种类不像 Windows 中那么多,但是分类也不少,详细情况可以使用"info ls"命令查看。笔者在这里只讲一些常见的文件类型。

  • -"-":普通文件。
  • -"b":块设备文件。这是一种特殊设备文件,存储设备都是这种文件,如分区文件 /dev/sda1 就是这种文件。
  • -"c":字符设备文件。这也是特殊设备文件,输入设备一般都是这种文件,如鼠标、键盘等。
  • -"d":目录文件。Linux 中一切皆文件,所以目录也是文件的一种。
  • -"l":软链接文件。
  • -"p":管道符文件。这是一种非常少见的特殊设备文件。
  • -"s":套接字文件。这也是一种特殊设备文件,一些服务支持 Socket 访问,就会产生这样的文件。

第 2~4 位代表文件所有者的权限。

  • -r:代表 read,是读取权限。
  • -w:代表 write,是写权限。
  • -x:代表 execute,是执行权限。 如果有字母,则代表拥有对应的权限;如果是"-",则代表没有对应的权限。

第 5~7 位代表文件所属组的权限,同样拥有"rwx"权限。

第 8~10 位代表其他人的权限,同样拥有"rwx"权限。

这就是文件基本权限的含义,那我们看看下面这个文件的权限是什么。

bash
[root@localhost ~]#ls -linstall.log -rw-r--r--.1 root root 24772 1月 14 18:17 install.log

这个文件的所有者,也就是 root 拥户,拥有读和写权限;所属组中的用户,也就是 root 组中除 root 用户以外的其他用户,拥有只读权限;而其他人拥有只读权限。

最后,我们再看看权限位的这个"."的作用。这个点是在 CentOS 6 以上的系统中才出现的,在以前的系统中是没有的。刚开始,笔者也饱受这个点的困扰,在各种资料中都查不到这个点的说明。直到无意中查询了 "info ls" 命令,才明白这个点的含义:如果在文件的权限位中含有".",则表示这个文件受 SELinux 的安全规则管理。

这个示例说明,任何资料都不如 Linux 自带的帮助文档准确和详细。所以,如果以后出现了不能解释的内容,则记得先查看 Linux 自带的帮助文档。

本文作者:Eric

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!