Chinaunix

标题: 为何给脚本文件设置suid位后执行获取不了root的权限? [打印本页]

作者: wingbroken    时间: 2005-02-22 10:58
标题: 为何给脚本文件设置suid位后执行获取不了root的权限?
脚本:test.sh
内容:su - user1 -c \"somecommand\"
目的:让普通用户通过此脚本透明地以root的权限执行某些操作
owner: root
设置suid位
chmod 4711 test.sh

但是用普通用户在执行此脚本时还是出现su - user1的密码提示,表明没有获得root权限,为何?
作者: wingbroken    时间: 2005-02-23 10:49
标题: 为何给脚本文件设置suid位后执行获取不了root的权限?
没人理,自己顶一次!
作者: sunbeat    时间: 2005-02-23 12:48
标题: 为何给脚本文件设置suid位后执行获取不了root的权限?
理解错误。
setuid对脚本没用。
要用在程序的文件上,在程序里面用getuid(),setuid()等函数
作者: zhangr    时间: 2005-02-25 11:17
标题: 为何给脚本文件设置suid位后执行获取不了root的权限?
也就是说,你要把你的解释器setuid才行。 8-)
作者: wingbroken    时间: 2005-02-26 00:29
标题: 为何给脚本文件设置suid位后执行获取不了root的权限?
不好意思,水平有限,理解得有些模糊,能否讲详细一点?
我曾经看过的书说suid,guid也可以应用于脚本的?该书作者用在crontab里,用普通用户执行例如数据库备份等DBA权限。
而且说suid的获取只需要将权限改为4xxx就可以了,难道不对?
作者: netzh    时间: 2005-04-07 21:17
标题: 为何给脚本文件设置suid位后执行获取不了root的权限?
[quote]原帖由 \"zhangr\"]也就是说,你要把你的解释器setuid才行。 8-)[/quote 发表:


正解!

脚本:test.sh
内容:
/bin/ksh su - user1 -c \"somecommand\"
目的:让普通用户通过此脚本透明地以root的权限执行某些操作
owner: root
/bin/ksh设置suid位
chmod 4711 test.sh
作者: wingbroken    时间: 2005-04-25 23:38
标题: 为何给脚本文件设置suid位后执行获取不了root的权限?
好久没来,还是想弄懂这个问题,4755一样,何谓解释器里setsuid?
请教请教!
作者: hpux    时间: 2005-04-26 15:51
标题: 为何给脚本文件设置suid位后执行获取不了root的权限?
HP-UX支持脚本SUID!

我的实验:
一个叫demo.txt的文件,owner是root,权限是400!
另外一个owner是root的脚本suid.sh,权限是4755。
suid.sh的内容:
#!/usr/bin/sh
more demo.txt

用普通用户登录,直接查看demo.txt没权限,但是用suid.sh可以看到demo.txt的内容,也就是说肯定“SUID”了!
我把suid.sh权限改成755,就不行了,哈

楼主可以自己再试试,注意脚本开始要注明解释器#!/usr/bin/sh
(尽管这样,但是仍然不是解释器的setuid,而是脚本级别的suid)




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