UNIX/Linux 文件中的九个权限位说明

时间:2020-01-09 14:16:23  来源:igfitidea点击:

UNIX或Linux文件上的9个权限位分别是什么?

UNIX或Linux中的每个文件都有9个权限位,如下所示:

ls -l /etc/hosts

输出示例:

-rw-r--r-- 1 root root 401 2009-12-20 12:08 /etc/hosts

条目类型

总共有10位-rw-rr:-l选项下打印的文件模式由条目类型(第1位)和权限(9位)组成。
条目类型字符描述文件的类型,如下所示:

  • 常规文件。
  • b阻止特殊文件(存储在/dev中)。
  • c字符特殊文件(存储在/dev中)。
  • d目录。
  • l符号链接。
  • pFIFO。
  • s套接字。
  • wWhiteout

例子

使用ls命令显示目录类型:

ls -ld /etc

输出示例:

drwxr-xr-x 170 root root 12288 2010-02-24 11:39 /etc

使用ls命令显示块设备类型(硬盘):

ls -l /dev/sda

输出示例:

brw-rw---- 1 root disk 8, 0 2010-02-24 11:32 /dev/sda

权限位

接下来的三个字段分别是三个字符

  • 文件所有者权限
  • 文件组权限
  • 其他权限(不属于所有者或组)

每个字段具有三个字符位置,如下所示:

  • r:文件可读;如果不可读。
  • w:文件可写;如果-,则不可写。
  • S:如果拥有所有者权限,则该文件不可执行,并设置为set-user-ID模式。如果在组权限中,则该文件不可执行,并设置为set-group-ID模式。
  • s:如果具有所有者权限,则该文件是可执行文件,并且设置了set-user-ID模式。如果在组权限中,该文件是可执行文件,并且设置了组ID模式。
  • x:该文件是可执行文件或目录可搜索。
  • 该文件既不是可读,不可写,可执行的,也不是set-user-ID或set-group-ID模式,也不具有粘性。

接下来的两个仅适用于其他权限中的第三个字符。

  • T设置了粘性位(模式1000),但没有执行或搜索许可。
  • t粘性位被设置(模式1000),它是可搜索或可执行的。