什么是linux中的SUID特殊权限
1、为了更好的为大家讲解,这里我们以shadow文件为例说明。linux中所有用户都可以执行 passwd命令来修改自己的用户密码,而用户密码保存在/etc/shadow 文件中。
2、我们使用ls -l查看这个文件的权限。可以看到,它的默认权限是 000,也就是说除了 root 管理员以外,所有用户都没有查看或编辑该文件的权限。
3、但在使用 passwd 命令时如果加上 SUID 特殊权限位,就可让普通用户临时获得程序所有者的身份,把变更的密码信息写入到 shadow 文件中。
4、查看 passwd 命令属性时发现所有者的权限由 rwx 变成了 rws,其中 x 改变成 s 就意味着 该文件被赋予了 SUID 权限。
5、权限设定方法:字母表示法:chmod u+s FILE...chmod u-s FILE...
6、权限设定方法:数字表示法:chmod4755 FILE添加SUID权限到弛阻廖娓二进制程序文件(添加到DIR无意义)在普通三位数字权限位之前,用4代表添加的SUID位chmod0xxx ....可以删除文件的SUID(无法删除目录的SUID)
7、通过研究,我们可以发现passwd这个程序的属主位的执行位不是x而是s,说明passwd被设置了特殊权限SUID。所以当普通用户运行passwd命令,系统创建的passwd进程的属主由默鹚剖蛲蛋认为"程序发起者"变为了passwd的属主而passwd的属主是root,所以普通用户其实是在用root的权限修改/etc/shadow文件,最后passwd命令
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:22
阅读量:38
阅读量:54
阅读量:42
阅读量:66