- ✈️一、基本权限和归属
- 數1.1 访问权限
- 肋1.2 三种权限对应的命令
- 1.3 归属关系
- 1.4 解析文件目录权限信息
- 1.5 如何判断一个用户对文件/目录的权限
- 1.6 设置(修改)基本权限
- 索1.7 权限的八进制表示
- 陵1.8 文件/目录的默认权限
- 1.9 修改归属关系
- ️二、ACL策略概述
- 數2.1 ACL策略的作用
- 肋2.2 设置ACL权限
- 2.3 ACL策略黑名单的使用
- ️三、附加权限
- 數3.1 特殊权限的作用
- 肋3.2 特殊权限分类
- 3.2.1 Sticky Bit概述
- 3.2.2 Set GID概述
- 3.2.3 Set UID概述
- 读取:允许查看内容——read
- 写入:允许修改内容——write
- 可执行:允许运行和切换——excute
-
对于文本文件
- r权限:cat、less、tail、head、grep、vim
- w权限:>、>>、echo、vim(只有能保存并退出时才证明有写权限)
- x权限:多用于Shell和Python
-
对于目录
- r权限:ls查看目录内容
- w权限:能够创建、删除、修改目录内容
- x权限:cd到此目录下
- 所有者:拥有此文件/目录的用户——user
- 所属组:拥有此文件/目录的组——group
- 其他人:除所有者和所属组以外的其他人——other
ls -l查看文件:
权限位解读:
最开头的字符:-代表文件;d代表目录;l代表链接
第一步:查看用户对于该文件/目录的身份
注意:Linux系统确认身份时,有一个匹配顺序,所有者>所属组>其他人,从左到右匹配,满足则停止,不再继续往下匹配,以第一次匹配到的作为用户对该文件的身份
第二步:查看该身份对应的权限
使用chmod命令
格式:chmod [ugo] [+-=] [rwx] 文件名
常用子选项
-R:递归修改权限,目录下的目录及文件全部修改
注意:
- 同时修改ugo里面的多个时,要用逗号隔开
- 当一个目录对其他人有w权限时,背景色会变为绿色,比如/tmp
- a=ugo,代表三类的集合
- u=- - - /u=-:代表无权限
最高权限为777,设置权限的时候可以直接用数字来代替字母
- 一般文件下不给执行权限
- 其他取决于umask(权限掩码)设置,umask默认为022
- 新建目录默认权限为755
- 新建文件默认权限为644
其实就是最高权限777减去umask,但文件不给x权限,所以少1
使用chmod命令
-
修改所有者和所属组:chown 所有者:所属组 文件
-
修改所有者:chown 所有者 文件
-
修改所有者和所属组:chown :所属组 文件
-
-R:递归修改,会把目录里面的目录和文件的归属一并修改
用于文档归属的局限性,任何人只有三种角色,无法实现更加精细的控制。当我们想要对个别用户、个别组设置独立的权限时,我们就需要用到ACL策略了。
肋2.2 设置ACL权限使用setfacl命令
格式:
- setfacl [选项] u:用户名:权限 文件…
- setfacl [选项] g:组名:权限 文件…
- getfacl 文件:查看文档的ACL策略
常用选项
-
-m:定义一条ACL策略
当一个文档有了ACL策略后会显示+号
-
-x:清除指定的ACL策略,无需再写:权限
-
-b:清除所有已设置的ACL策略,后面直接跟文件
-
-R:递归设置ACL策略
单独拒绝某些用户
setfacl -m u:harry:- - - /opt/private
单独拒绝harry,对/opt/private文件没有任何权限
注意:设置ACL策略后,ls -lh所查看到的权限部分的所属组的权限会被权限掩码覆盖,所以会不准确,必须用getfacl查看才准确。
️三、附加权限 數3.1 特殊权限的作用叠加于权限位的ugo分组的x权限位上,用来传递程序执行身份,限制目录写入权。
肋3.2 特殊权限分类 3.2.1 Sticky Bit概述粘滞位,Sticky Bit权限
- 占用other的x权限位
- 显示为tT,取决于其他人是否有x权限
- 适用于目录,用来限制用户滥用写入权限
- 在设置了粘滞位的文件夹下,即使用户有了写入权,也不能删除、改名、修改内容其他用户的文档
SGID权限
- 占用所属组的x权限位
- 显示为sS,取决于所属组是否有x权限
- 对目录有效
- 在一个具有SGID权限的目录下,新建的文档会自动继承此目录的所属组身份(设置SGID权限之前就创建的文件不受影响)
SUID权限
- 占用所有者的x权限位
- 显示为sS,取决于所有者是否有x权限
- 仅对可执行程序有意义
- 当其他用户执行带有GUID的程序时,具有此程序所有者的身份和相应权限
回到顶部



