Linux用户权限特殊权限

目录

一、特殊位suid

1、概述

2、引入

3、设置suid

二、文件属性chattr

1、用途

2、以i为例子展示

三、远程掩码umask

1、概述

2、了解特别位

3、查看系统默认掩码

4、修改shell umask值(临时,关机就会恢复到默认)


一、特殊位suid

1、概述

        suid:针对文件/程序时,具备临时提升权限。

        suid是针对文件所设置的一个特殊的权限。

        功能:使调用文件的用户,临时具备属主的能力

2、引入

        看下列命令

[root@localhost ~]# touch /root/file001                //在root目录下创建一个file001的文件
[root@localhost ~]# vim  /root/file001                   //编辑文件内容
[root@localhost ~]# su zhangsan                        //切换zhangsan用户身份
[zhangsan@localhost root]$ cat /root/file001        //查看file001文件内容
cat: /root/file001: 权限不够                                        //权限不足

分析:root运行是超管的权限,普通用户运行时是普通用户的权限所以不能够查看file001的内容

[zhangsan@localhost root]$ exit                                //退出zhangsan身份
exit
[root@localhost ~]# ll -d /root                                        //查看root目录信息
dr-xr-x---. 15 root root 4096 9月  28 14:50 /root                //只有属主root和属组root可以对root目录进项读和执行,其他用户是没有任何权限的。

root身份:usr/bin/cat(root)            这个时候cat的属主是root超管身份可以查看文件的

zhangsan身份:usr/bin/cat(zhangsan)      这个时候cat的属主是普通用户身份无法查看root目录下的文件

3、设置suid

        设置suid,使普通用户通过suid临时提权,获得查看超管root目录的权限

语法:chmod   u+s    文件

1)为cat程序添加上suid权限

[root@localhost ~]# ll  /usr/bin/cat                                //查看cat信息
-rwxr-xr-x. 1 root root 54080 8月  20 2019 /usr/bin/cat        
[root@localhost ~]# chmod u+s /usr/bin/cat                //给cat添加上suid权限
[root@localhost ~]# ll /usr/bin/cat                                //查看cat信息
-rw
sr-xr-x. 1 root root 54080 8月  20 2019 /usr/bin/cat               //cat属主的权限被赋予上root的权限,这个时候即便是普通用户使用cat程序也可以拥有root的权限        

2)使用普通用户运行cat,暂时获得root权限

[root@localhost ~]# su zhangsan                                //切换zhangsan用户
[zhangsan@localhost root]$ cat /root/file001            //zhangsan用户查看root下的file001文件

123                                                                                //可以查看
[zhangsan@localhost root]$ exit                                //退出zhangsan用户
exit

//在试验后要将suid权限移除
[root@localhost ~]# chmod u-s /usr/bin/cat                      //移除suid权限 
[root@localhost ~]# ll /usr/bin/cat                                        //查看cat信息
-
rwxr-xr-x. 1 root root 54080 8月  20 2019 /usr/bin/cat              //suid权限不存在
[root@localhost ~]# su zhangsan                                        //切换zhangsna用户
[zhangsan@localhost root]$ cat /root/file001                        //查看root下的file001文件
cat: /root/file001: 权限不够                                                //访问失败,因为这时候cat以及失去suid的权限


二、文件属性chattr

1、用途

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

2、以i为例子展示

语法:chattr  +i   文件名          i不能对文件进行修改、重命名和删除
           lschattr   文件                查看文件默认的属性权限

1)先创建新的文件进行对比,查看默认的权限

[root@localhost ~]# touch /test/t2                        //创建t2文件
[root@localhost ~]# lsattr /test/t2                         //查看默认权限
---------------- /test/t2

2)添加不能修改、重命名和删除的属性

[root@localhost ~]# chattr  +i   /test/t2               // 添加属性权限
[root@localhost ~]# lsattr  /test/t2                      //查看属性权限
----
i----------- /test/t2

3)测试

[root@localhost ~]# rm -rf /test/t2                        //删除文件t2
rm: 无法删除"/test/t2": 不允许的操作                   //删除失败
[root@localhost ~]# mv /test/t2   /test/t3                //重命名t2
mv: 无法将"/test/t2" 移动至"/test/t3": 不允许的操作                        //操作失败
[root@localhost ~]# vim /test/t2                                        //编辑t2内容

                        //文件变为只读

4)将属性还原并测试

[root@localhost ~]# chattr -i /test/t2                        //删除i属性权限
[root@localhost ~]# lsattr /test/t2                        //查看t2属性权限
---------------- /test/t2                                                //删除成功

[root@localhost ~]# cat /test/t2                //查看t2内容

[root@localhost ~]# vim /test/t2                //编辑t2内容
[root@localhost ~]# cat /test/t2                //查看t2内容
123                                                                //编辑成功
[root@localhost ~]# mv /test/t2   /test/t3                //重命名t2为t3
[root@localhost ~]# ll /test                                //查看test内的文件
-rw-r--rwx. 1 root S1   0 9月  27 14:46 t1
-rw-r--r--. 1 root root 4 9月  28 15:25 t3                      //重命名成功
[root@localhost ~]# rm -rf /test/t3                                //删除t3
[root@localhost ~]# ll /test/t3                                        
ls: 无法访问/test/t3: 没有那个文件或目录                       //删除成功


三、远程掩码umask

1、概述

        新建文件、目录的默认权限会受到umask的影响,umask表示要减掉的权限,在我们创建目录的时候默认目录是755,创建文件的时候默认权限为644,这些结果都是由777经过与umask的一些计算得到的,和减法一样的逻辑.

[root@localhost ~]# mkdir  /test/dir001                             //创建目录
[root@localhost ~]# ll -d  /test/dir001                                //查看目录信息

drwxr-xr-x. 2 root root 6 9月  28 15:31 /test/dir001      //目录的默认权限755

[root@localhost ~]# touch  /test/t2                                //创建文件
[root@localhost ~]# ll /test/t2                                        //查看文件信息

-rw-r--r--. 1 root root 0 9月  28 15:33 /test/t2                //文件默认权限为644

2、了解特别位

        在我们之前授权的时候都是chmod  777(三个数)  文件名,但是其实前面还有一位数之前没有写的,这个特别位。

[root@localhost ~]# chmod 4777 /test/t2                        //4就是属主那的特别位
[root@localhost ~]# ll /test/t2                

-rwsrwxrwx. 1 root root 0 9月  28 15:33 /test/t2                //s就是suid
[root@localhost ~]# chmod 1777 /test/t2                        //1是执行的特别位
[root@localhost ~]# ll /test/t2

-rwxrwxrwt. 1 root root 0 9月  28 15:33 /test/t2                        //t是粘着位
[root@localhost ~]# chmod 2777 /test/t2                                //2是属组的特别位
[root@localhost ~]# ll /test/t2

-rwxrwsrwx. 1 root root 0 9月  28 15:33 /test/t2                //s就是suid

3、查看系统默认掩码

[root@localhost ~]# umask                //查看系统默认umask
0022

目录默认的权限755可以看做是0777-0022得来的

文件默认是需要移出执行权的所以需要减去0111

4、修改shell umask值(临时,关机就会恢复到默认)

[root@localhost ~]# umask  0000                        //修改umask为0000
[root@localhost ~]# umask                                //查看umask
0000        
[root@localhost ~]# mkdir /test/dir002                        //创建目录dir002
[root@localhost ~]# touch /test/t3                                //创建文件t3

[root@localhost ~]# ll -d  /test/dir002    /test/t3                //查看dir002和t3的信息
drwxrwxrwx. 2 root root 6 9月  28 16:01 /test/dir002        //目录默认权限变为777
-rw-rw-rw-. 1 root root 0 9月  28 16:01 /test/t3                //文件默认权限变为666

你的点赞是对我的激励!!!

你的评论是对我的勉励!!!

你的收藏是对我的认可!!!

你的关注是我们之间距离的增进!!!

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sure云小硕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值