setuid的作用

 

 当文件设置了setuid位后,任何能够执行此文档的用户都有与文件属主相同的权限,即使得任意使用者在执行该文件时,都绑定了文件属主的权限。例如,某个程序为root拥有,又设置了setuid位,那即使是一个普通用户运行该程序,该程序的身份一样是root的身份,可以访问所有只有root可以访问的资源,设置setuid位的程序曾是被攻击的对象。setuid位典型的应用是/usr/bin/passwd,查看该文件权限显示-rwsr-xr-x,这里的s表示设置了setuid位且该文件可由文件属主执行,如果一般用户执行该文件,则在执行过程中可以获得root权限,从而更改用户密码。大写S表示文件本来没有可执行权限并且设置了setuid位。
命令用法:chmod 4755 your_program
安全性

   setuid权限可以被用来提高特定环境的安全性。在GnuPG 环境,它可以用来确保程序可以使用安全内存,因为非特权UID无法访问安全内存。使用安全内存可以让攻击者更难以从RAM中获取你的GnuPG密码。

   在其他情况下,那些需要root级特权的服务器程序为了避免使用root级别的特权,也可以将其设置为setuid 权限,这样它们以root特权启动后会降低特权等级,以更低级的UID运行。这样做可以确保服务器进程能够按照原先所需的设定正常启动,接下来放弃root特权的UID又能保证在接下来的运行过程中不会因为被攻击而让黑客获取root权限。

缺点

   对于几乎全部程序来说,设置setuid 位都会带来少许安全风险。比如为ls设置setuid,将使得用户可以访问那些他原本没有权利访问的文件夹中的内容。

   这就已经足够引发更严重的结果了。比如,能修改文件系统的应用程序如果拥有了root权限,就可以修改任意文件系统了。如果某个程序被设置了setuid root权限,一旦这个程序被黑客掌握,系统中的重要文件就有可能被删除,移动或者拷贝。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值