Setuid权限的介绍和查找-让任意账号以root身份执行命令

linux的文件系统权限除了常见的读、写、执行(r、w、x)外还有s、t、i、a权限:

本文介绍一下这四种特殊权限中的S键位有什么特点

s:文件属主和组设置SUID和GUID,文件在被设置了s权限后将以root身份执行。

在设置s权限时文件属主、属组必须先设置相应的x权限,否 则s权限并不能正真生效(当我们ls -l时看到rwS,大写S说明s权限未生效)。比如Linux修改密码的passwd便是个设置了SUID的程序,普通用户无读写/etc/shadow文件 的权限确可以修改自己的密码。

我们来进行测试,使用root账号创建一个700的文件,这样除了root别人对这个文件都没有任何权限,包括读取。

1 [root@test test]# echo test>test.txt
2 [root@test test]# chmod 700 test.txt
3 [root@test test]# ls -l test.txt
4 -rwx------ 1 root root 5 Oct 27 13:37 test.txt

现在却换到非root用户下测试,无法读取这个文件:

1[ntop@test test]$ cat test.txt
2cat: test.txt: Permission denied

然后我们给cat添加SETUID权限测试

1 [root@test test]# chmod a+s /bin/cat
2 [root@test test]# su ntop
3 [ntop@test test]$ cat test.txt
4test
5 [ntop@test test]$

已经可以访问这个只有root用户才有权限访问的文件了。

所以这是一个非常危险的权限,如果rm被赋予了s,那么就可以删除任意root可以删除的文件了。所以应该谨慎给程序赋予这个权限。

可以通过 find / -perm -4000查看系统中所有具有setuid权限文件,看是否有被别人而已添加了超级权限的文件影响了系统的安全~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值