Linux中用户权限的“基本权限和特殊权限”

基本权限ACL

基本权限和特殊权限的区别:

ACL文件权限管理: 设置不同用户,不同的基本权限(r、w、x)。对象数量不同。
UGO设置基本权限: 只能一个用户,一个组和其他人

基本权限的语法:

setfacl -m u:alice:rw /home/test.txt
setfacl:命令
-m:设置
u:alice:用户或组
rw :权限
/home/test.txt:文件对象及其所在位置

基本权限的用法

设置

1、准备文件:
[root@cyb ~]# touch /home/test.txt
[root@cyb ~]# ll /home/test.txt
-rw-r–r-- 1 root root 0 10-26 13:59 /home/test.txt
2、设置ACL
[root@cyb ~]# getfacl /home/test.txt(查看文件有哪些ACL权限)
[root@cyb ~]# setfacl -m u:alice:rw /home/test.txt(设置用户alice,jack权限)
[root@cyb ~]# setfacl -m u:jack:- /home/test.txt
[root@cyb ~]# setfacl -m o::rw /home/test.txt(设置其他人的权限)
3、如何删除ACL
[root@qianfeng ~]# ll /home/test.txt (查看test.txt中的权限)
-rw-rw-r–+ 1 root root 0 10-26 13:59 /home/test.txt
[root@cyb ~]# getfacl /home/test.txt(这个也是查看有哪些ACL权限)
[root@cyb ~]# setfacl -m g:hr:r /home/test.txt(给组增加读的权限)
[root@cyb ~]# setfacl -x g:hr /home/test.txt (删除组hr的acl权限)
[root@cyb ~]# setfacl -b /home/test.txt (删除test.txt所有acl权限)

ACL的高级用法

原理:

ACL权限中有个"mask"的选项,它就是ACL权限的最大权限,现在是rwx,当你设置某个用户或组的ACL权限时,要跟mask的权限“相与”之后产生的权限才是该用户的最终权限,也就是加入mask的最大权限是rx,但是你给st用户设置的是rwx权限,此时st用户它的权限只有rx的权限,因为与最大权限“相与”得出的结果就是rx。

图示

在这里插入图片描述
生产环境中,常用于临时降低用户或组(除属主和其他人)的权限
1.准备测试用户和组
useradd xujingyuan
useradd cuiyanbing
groupadd hr
touch /tmp/file1.txt
2.设置facl权限。
setfacl -m u:xujingyuan:rwx /tmp/file1.txt
setfacl -m u:cuiyanbing:rw /tmp/file1.txt
setfacl -m g:hr:r /tmp/file1.txt
3.查看权限列表。测试成功。
getfacl /tmp/file1.txt
4.切换用户。验证权限读写执行成功。
su - xujingyuan
su - cuiyanbing
5.设置mask权限为空。切换用户测试,用户写和执行失效。
setfacl -m m::— /tmp/file1.txt
getfacl /tmp/file1.txt
su - xujingyuan
su - cuiyanbing
6.为什么用户还可以读取文件呢。
因为mask无法影响属主和其他用户权限。
去除掉其他人权限。再次使用alice和jack用户访问文件。发现读取无法完成。
chmod o-r /tmp/file1.txt

特殊权限

特殊位 suid

高级权限的类型
suid,(sgid)针对文件/程序时,具备临时提升权限。
事例
设置suid,使普通用户通过suid临时提权,查看超管root用户的文件。
1.为cat程序添加上suid权限
[root@cyb ~]# ll /usr/bin/cat(查看cat中的结果)
[root@cyb ~]# chmod u+s /usr/bin/cat(改变权限)
[root@cyb ~]# ll /usr/bin/cat(查看cat中的结果)
分析两次结果有何不同之处
2.使用普通用户运行cat,暂时获得root权限
[alice@cyb ~]$ cat /root/file1.txt
(观察出现的结果)
[root@cyb ~]# chmod u-s /usr/bin/cat(去除cat的suid权限除去。)
[root@cyb ~]# ll /usr/bin/cat(查看suid权限是否去除)

文件属性chattr

用途:

常用于锁定某个文件,拒绝修改。

分类:

在这里插入图片描述
**注释:**给文件加上chattr i 的属性之后,root都无法对其进行删除。

进程掩码 umask

概述:

新建文件、目录的默认权限会受到umask的影响,umask表示要减掉的权限。
观察系统默认的掩码:
[root@cyb ~]# umask
0022
修改文件abc.txt和目录def的掩码
示例2:修改shell umask值(临时)
[root@cyb ~]# umask 000
[root@cyb ~]# mkdir def
[root@cyb ~]# touch abc.txt
[root@cyb ~]# ll -d def abc.txt
drwxrwxrwx. 2 root root 4096 3月 11 19:44 def
-rw-rw-rw-. 1 root root 0 3月 11 19:44 abc.txt
注释:
现在的进程掩码是0000,用0777-0000=0777,所以目录和文件是满权限,但是系统默认不会给文件执行的权限,所以abc.txt的权限是666。

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值