Ubuntu 关于suid/guid权限位的问题

 

 

 

问题:

据我的理解,如果一个程序/脚本被加了suid/guid,那么任何其他用户运行这个程序/脚本时,这个程序/脚本仍然拥有它所属的用户/组的权限。 

按网上介绍,suid/guid脚本可以使普通用户执行一些只有root才能执行的操作。 

但我新建一个mountntfs.sh 

代码:
#!/bin/bash

mount -t ntfs-3g /dev/sda7 /media/sda7


其权限为:
代码:
-rwsr-sr-x  1 root root       52 2007-08-05 01:03 mountntfs.sh

 



用普通用户运行时为什么还提示“要以root身份运行“? 
是我理解错了还是哪里没弄好? :?: 请指点!多谢多谢!

 

解决方案:

 

代码:
//The runcmd.cpp file
#include<stdlib.h>
#include<sys/types.h>
#include<unistd.h>

using namespace std;

int main()
{
   setuid(0);
   system("sudo mount -t ntfs-3g /dev/sda7 /media/sda7");
}


代码:
-rwsr-xr-x 1 root root 7261 2007-08-06 14:02 runcmd



_________________
http://forum.ubuntu.org.cn/viewtopic.php?f=86&t=68191&view=previous