SetUid

setuid的优点:
1、 使用SetUID可以灵活的调整所有文件所有者权限
例如:
如果我们以普通用户
[root@localhost ~]# su xiweina
进入执行新建文件
[xiweina@localhost root]$ touch file
则出现
touch: 无法触碰 “fil“权限不够

而当我们执行查找touch所在的目录
[root@localhost ~]# ls -l `which touch`

-rwxr-xr-x 1 root root 42284 2009-07-13 /bin/touch
设置uid
[root@localhost ~]# chmod u+s /bin/touch
查看效果
[root@localhost ~]# ls -l `which touch`
显示s将x替换,现在的s即代表x也代表s有两者功能
-rwsr-xr-x 1 root root 42284 2009-07-13 /bin/touch
此时就可以建立了
[xiweina@localhost /]$ touch file
查询效果
[xiweina@localhost /]$ ls -l file
显示效果为
-rw-rw-r-- 1 root xiweina 0 12-15 19:05 file
通过上面我们可以再诠释下SetUID的定义,
当一个可执行文件(命令touch)设置SetUID权限后,当普通用户xiweina执行touch创建新文件时,实际上是以touch命令所有者root的身份在执行此操作,既然是以root身份执行,当然新建文件的所有者为root ,这就是SetUID的作用
setuid的缺点:
1 、为系统的安全性带来了隐患,如果Root用户为指定的程序文件配置过大的SetUID权限,那么就会为黑客或者非法用户打开了侵入系统的大门。
2、如果vi编辑器被设置了u+s,就更危险了,普通用户可以使用vi编辑/etc/shadow文件,因为具备root身份,可以进行任意读写操作(比如可以把任何一个用户密码位清空,则用户登录不需要输入密码)。但是使用more、cat等命令仍然无法查看文件/etc/shadow的内容,只有被授予了SetUID的vi可以查看和修改。同样,vi如果具有了SetUID权限,普通用户可以vi编辑/etc/passwd文件把自己的UID改为0 ,则他的权限就和root一样;可以vi编辑/etc/inittab文件把缺省运行级别改成6 ,则Linux会开机后不停的重启…,更可恶的是可以vi编辑/etc/inittab文件把缺省运行级别改成1,这时不太懂得人会以为机子坏了。

如果kill被授予setid权限,当普通用户执行kill时,因为kill被授予了SetUID权限,在执行的一瞬间具有了root权限,只要用户不爽想关闭任何服务都可以!





评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值