求助,关于设suid......

发表于:2007-07-04来源:作者:点击数: 标签:
我写了一个名叫inituser的脚本,用于强迫samba用户登陆后立即更改密码: #!/bin/bash chage-d01 smbpasswd-a1 怎样设suid呢? 我定义成4755,但是普通用户还是无权限执行,为什么? 初不 回复于:2004-06-30 15:59:47 Linux还不允许用suid,因为不 安全 如

我写了一个名叫inituser的脚本,用于强迫samba用户登陆后立即更改密码:
#!/bin/bash
chage -d 0 $1
smbpasswd -a $1

怎样设suid呢?
我定义成4755,但是普通用户还是无权限执行,为什么?

 初不 回复于:2004-06-30 15:59:47
Linux 还不允许用 suid,因为不安全
如果你要测试一下你的系统是否支持suid,guid,你可以参考
------------------------------------------------------------------------

为了检查你的系统是否允许使用set-id位,我们创建了下面的外壳脚本。我们首先按照普通用户、然后按照根用户的身份来运行这段脚本:

 
#!/bin/sh
echo My effective user id is $EUID 

如果你以根用户的身份运行这段脚本,那么你得到的用户id应该为零,否则(作为普通用户运行该脚本)你所得到的用户id为其它值。如果你把文件拥有者改为根用户并使用set-id位,以普通用户身份运行该脚本,并且你得到的用户id为零,那么你的系统就允许suid脚本。

(以上摘自
http://www.zdnet.com.cn/developer/code/story/0,2000081534,39157162,00.htm
)
------------------------------------------------------------------------

 冷风 回复于:2004-06-30 16:06:22
2楼说的有点片面
linux是支持suid的只是取消了对脚本的suid的支持

 零二年的夏天 回复于:2004-06-30 16:23:40
可以使用sudo。

 冷风 回复于:2004-06-30 16:25:33
用perl写一个吧
正好redhat自带了suidperl

 achocho 回复于:2004-06-30 17:34:00
好!

原文转自:http://www.ltesting.net