UNIX/Linux 文件权限说明

时间:2019-11-20 08:53:24  来源:igfitidea点击:

您能否完全解释UNIX或Linux文件上的9个权限位? 的每个文件都有9个权限位,如下所示:

在UNIX或Linux中,如果使用ls -l查看文件,在前面将显示1位文件类型,和9位权限位:

例如:

ls -l /etc/hosts

输出示例:

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

第一位表示文件的类型:

  • -常规文件。
  • b块特殊文件(存储在/dev中)。
  • c字符特殊文件(存储在/dev中)。
  • d目录。
  • l符号链接。
  • pFIFO。
  • s套接字Socket。
  • 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

权限位

2-10位是权限位,3个位一组。

  • 第1组表示 文件所有者权限
  • 第2组表示 文件所有组权限
  • 第3组表示 其他权限(不属于所有者或组)

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

  • 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),它是可搜索或可执行的。