一、权限概述
1.权限的基本概念
2.为什么要设置权限
3.linux用户的身份类别
4.user文件的拥有者
5.group文件所属组内用户
6.other其他用户
7.特殊用户root
二、普通权限管理
1.ls -l查看文件权限
2.文件类型以及权限解析
3.文件或文件夹的权限设置
4.通过数字给文件或文件夹进行权限设置
三、文件拥有着以及文件所属组设置
1.什么是属主与属组
文件拥有者:属主(所有者)
文件所属组:属组(所属组)
2.文件拥有者与所属组的查看
属主:所属的用户,文档的所有者,一般是一个账户
属组:所属的用户组,一般是一个组
ls -l
3.文件拥有者所属设置
基本语法:chown ch=change,own=owner
4.文件所属组设置
基本语法:chgrp ch=change grp=group
四、特殊权限
1.特殊权限suid
suid 属性只能运行在可执行文件上,含义是开放文件所有者的权限给其他用户,当普通用户执行该文件时,会拥有该执行文件所有者(root 用户权限)的权限
仅仅限于可执行文件,二进制文件,比如系统下/usr/bin的命令 如:/usr/bin/ls、/usr/bin/rm
suid特殊权限只要用户设有suid的文件
注意:
只针对二进制命令设置,不能再shell脚本上
用户权限再x位置处,如果有则为s,无则为S,表示该命令存在suid权限
取消suid权限
#chmod g-s /tmp/dir_sgid
2.特殊权限sgid
SGID 属性可运用文件或者目录,运用在文件的含义是开放文件所属组的权限给其他用户,当用户执行该文件时,会拥有该执行文件所属组用户的权限
设置文件夹的sgid后,在这个目录下创建的文件,文件夹都会继承该目录的所属组。
对二进制文件,若g具有x权限,并设置了sgid权限,其他用户可以获得属组的权限去执行二进制文件
取消sgid权限
#chmod g-s /tmp/dir_sgid
3.特殊权限sticky(粘贴位)
sticky 权限只能用于目录上,限制普通用户在此目录下只能删除自己的文件,不能删除其他用户创建的文件。
sticky权限 防止被别人误删除的作用!
取消sticky
#chmod o-t /tmp/dir_sticky
4.通过数字修改文件的特殊权限
特殊权限数字表示方法
suid 4
sgid 2
sticky 1
五、ACL访问控制列表
1.使用场景
基础权限中,用户对文件只有三种身份,就是属主、属组和其他人
每个用户都有读、写和执行三种权限。实际工作中三种身份不够用!
给用另外一种身份,需要单独使用ACl权限给他赋予单独的权限!
2.查看ac权限
#getfacl 文件或目录名称
3.设置文件的ACL权限
语法:
#setfacl 【选项】文件或目录名称
选项说明:
选项 | 作用 |
-m | 修改acl策略 |
-x | 去掉某个用户或某个组的权限 |
-b | 删除所有acl策略 |
-R | 递归,主要针对文件夹 |
-d | 应用到默认访问控制列表的操作(继承效果) |
从上可以看出来user01和user02设置了acl权限后两个用户对dir_acl目录就有了第四种身份,不受ugo权限控制
给用户设置group的ACL权限
移除单个用户ACL权限
# setfacl -x u:user01 /tmp/dir_acl/
移除全部ACL权限
# setfacl -b /tmp/dir_acl/
六、Umask
1.什么是umask
代表创建文件时的默认权限
root创建文件默认权限是
文件:644 文件夹:755
普通用户创建默认权限是
文件:664 文件夹:775
2.查看usmask值
#umak
3.修改umask
- 临时修改
- 永久修改
#vim ~/.bashrc
在文档末尾添加umask 022 即可
保存并退出
su 切换用户生效
4.umask码作用
umask码使得用户创建目录和权限时,拥有默认的权限
创建文件的默认值
创建目录的权限默认值
七、隐藏权限
文件的隐藏权限,默认看不到的权限(对管理员也生效)
1.添加隐藏权限
基本语法
#chattr +a 文件名
#chattt +i 文件名
选项:
a 限制用户只能追加内容,不能删除文件,剪切文件
i 限制用户只能查看文件内容,不能删除,剪切,追加,修改文件
2.查看隐藏权限
基本语法:
#lsattr 文件名
3.删除隐藏权限
#chattr -a a.txt
#chattr -i b.txt