Ubuntu 关于suid/guid权限位的问题
问题:
据我的理解,如果一个程序/脚本被加了suid/guid,那么任何其他用户运行这个程序/脚本时,这个程序/脚本仍然拥有它所属的用户/组的权限。
按网上介绍,suid/guid脚本可以使普通用户执行一些只有root才能执行的操作。
但我新建一个mountntfs.sh
代码:
#!/bin/bash
mount -t ntfs-3g /dev/sda7 /media/sda7
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");
}
#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
转载于:https://blog.51cto.com/brucemj/798642