Linux文件特殊权限之SetGID-s

60 篇文章 0 订阅
54 篇文章 0 订阅
/*************************************************************************
 *****************Author: GouplovXim *******************************
 *****************Date   : 2018-01-29 15:59  *************************
 *****************Description: 文件权限SBIT *************************
 *************************************************************************/

引导:
案例
[goup@GouplovXim tom]$ ll /usr/bin/passwd 
-rwsr-xr-x. 1 root root 25980 11月 24 2015 /usr/bin/passwd


案例二:
[goup@GouplovXim tom]$ ll -d /tmp
drwxrwxrwt. 3 root root 4096 1月  25 13:48 /tmp


SetUID:
1.案例:
[goup@GouplovXim ~]$ passwd 
更改用户 goup 的密码 。
为 goup 更改 STRESS 密码。
(当前)UNIX 密码:
新的 密码:
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。


Linux普通用户可以修改自己的密码,这个是一个合情合理的设置;修改密码其实修改的是 /etc/shadow 这个文件;然而这个文件的属性:
[goup@GouplovXim tom]$ ll /etc/shadow
---------- 1 root root 1063 1月  24 06:22 /etc/shadow
很明显普通用户对 /etc/shadow 文件没有任何权限,那怎么实现修改该文件呢,这里我们引入SetUID权限:
案例解析:
SetUID(或者 s 权限):
当一个具有执行权限的文件设置SetUID权限后,用户执行这个文件时将以文件所有者的身份执行。passwd命令具有SetUID权限,所有者为root(Linux中的命令默认
所有者都是root),也就是说当普通用户使用passwd更改自己密码的时候,实际在以passwd命令所有者root的身份在执行,命令执行完成后该身份也随之消失。

2.示例:
[goup@GouplovXim ~]$ ll /bin/touch
-rwxr-xr-x 1 root root 50644 5月  11 2016 /bin/touch
[goup@GouplovXim ~]$ touch GouplovXim
[goup@GouplovXim ~]$ ll GouplovXim
-rw-rw-r-- 1 goup goup 0 1月  26 01:15 GouplovXim
[goup@GouplovXim ~]$ sudo chmod u+s /bin/touch -- 更改touch的属性,增加SetUID属性
[goup@GouplovXim ~]$ ll /bin/touch 
-rwsr-xr-x 1 root root 50644 5月  11 2016 /bin/touch
[goup@GouplovXim ~]$ touch XimlovGoup
[goup@GouplovXim ~]$ ll XimlovGoup GouplovXim 
-rw-rw-r-- 1 goup goup 0 1月  26 01:15 GouplovXim
-rw-rw-r-- 1 root goup 0 1月  26 01:23 XimlovGoup -- 文件所有者变为root,说明在执行touch时,用户自动切换为root,灵魂附体

3.SetUID条件:


针对文件:


①可执行的二进制文件
②命令执行者(即所属组)对该文件具备 x 权限
③执行时,执行者获取所有者身份
④权限只在执行过程中有效

针对目录:


①普通用户对目录具备r和x权限,才可以进入到该目录
②普通用户在此目录中的有效组会变成此目录的所属组
③如普通用户对该目录具备w权限,新建文件的所属组为该目录的所属组
4.设置和取消SetUID


设置SetUID
chmod 4xxx < file-name >
chmod u+s < file-name >
取消SetUID
chmod xxx < file-name >
chmod u-s < file-name >

5.危险性

设置SetUID是具备很大危险性的,例如赋予 vim 这个权限,可以对/etc/shadow文件进行任意的增删改操作。
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值