Chinaunix

标题: 关于suid的一个问题,请教!! [打印本页]

作者: tobyhoo    时间: 2006-10-21 21:26
标题: 关于suid的一个问题,请教!!
[root@station210 /]# ll test.sh
-rwsr--r-x  1 root root 17 Oct 21 23:19 test.sh
[root@station210 /]# cat test.sh
touch /root/whoo
[root@station210 /]# su - whoo
[whoo@station210 ~]$ cd /
[whoo@station210 /]$ sh test.sh
touch: cannot touch `/root/whoo': Permission denied
[whoo@station210 /]$

我从资料查到:

SUID的程序在运行时,将有效用户ID改变为该程序的所有者ID,使得进程在很大程度上拥有了该程序的所有者的特权。如果被设置为SUID root,那么这个进程将拥有超级用户的特权(当然,一些较新版本的UNIX系统加强了这一方面的安全检测,一定程度上降低了安全隐患)。当进程结束时,又恢复为原来的状态。

但是我上边不能执行,是不是我对suid的理解错了?错在哪了?请高手指点
作者: kenduest    时间: 2006-10-22 03:27
shell script 的 setuid 属性会被系统忽略.

==
作者: langue    时间: 2006-10-22 06:46
binfmt_script.c
作者: tobyhoo    时间: 2006-10-22 11:48
原帖由 kenduest 于 2006-10-22 03:27 发表
shell script 的 setuid 属性会被系统忽略.

==




那也就是说,suid只能系统已有的指令,比如passwd能用,普通的shell 脚本设置该项不起作用?是不是这个意思??
作者: langue    时间: 2006-10-22 12:19
原帖由 tobyhoo 于 2006-10-22 11:48 发表




那也就是说,suid只能系统已有的指令,比如passwd能用,普通的shell 脚本设置该项不起作用?是不是这个意思??


按 kenduest 的说法,是这样的。

不过应该说,是执行脚本的时候不可以。在很多系统上,(/usr)/bin/true 和 (/usr)/bin/false 也是脚本。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2