centos文件权限详解

假设回显信息为  -rwsr-xr-x root root 430540 Dec 20 18:27 /usr/sbin/passwd ,现在逐一分析其内容。

 ①. 首字符-,表示该文件为普通文件。

         -,普通文件;

         d,目录文件;

         l,符号链接;

         c,字符设备文件;

         b,字节设备文件;

         p,先进先出文件;

         s,套接字文件。

  ②. 第2~4个字符,表示所有者(owner)的权限

  ③. 第5~7个字符,表示所属组(group)的权限

  ④. 第8~10个字符,表示其他用户(other)的权限

  ⑤. 第11个字符,表示硬链接数

  ⑥. 是文件所有者的用户名称(owner)

  ⑦. 是文件所属组的用户组名称(group)

  ⑧. 是文件大小,以块为单位,通过 ls -lh 则会以KB,MB作单位

  ⑨. 是最后修改日期

  ⑩. 是文件或目录的绝对路径

  从上述内容我们可以得知Linux下的权限角色有三种,分别是所有者(owner)所属组(group)其他用户(other)

2. 权限表示形式

  [a]. 符号表示法

  普通权限:

    r,读权限; w,写权限;x,可执行权限。

  特殊权限:

   SUID权限只能设置在②中,s表示二进制可执行文件同时拥有SUID权限和x可执行权限;S表示二进制可执行文件拥有SUID权限但没有x可执行权限。

   SGID权限只能设置在③中,s表示二进制可执行文件或目录同时拥有SGID权限和x可执行权限;S表示二进制可执行文件或目录拥有SGID权限但没有x可执行权限。

   SBIT权限只能设置在④中,t表示目录同时拥有SBIT权限和x可执行权限;T表示目录拥有SBIT权限但没有x可执行权限。

  [b]. 数字表示法

   数字表示法采用二进制形式计算,八进制形式设置的方式。

   二进制形式计算,1代表有权限,0代表无权限:

      所有者 所属组 其他用户
SUID SGID SBIT R W X R W X R W X
1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0

   然后每三位为一组转为八进制,例如现在二进制形式为100111101101,那么转为八进制则为4755。

   然后通过 chmod 4755 文件 就可以改变文件的权限, ls -l 回显中权限部分则为rwsr-xr-x。

   注意:1. 若不设置特殊权限时,我们可以直接省去八进制的第一位数,例如: chmod 755 文件 ;

            2. 采用数字表示法设置特殊权限,仅能启动特殊权限,却无法关闭。例如,文件A拥有特殊权限SUID和SGID,执行 chmod 0755 文件A ,但通过 ls -l 查看权限依然为rwsr-sr-x。

原文地址:https://www.cnblogs.com/fan-yuan/p/5666029.html