cumtlonglong 于 2010-03-27 20:53:47发表:
顶顶顶顶
cumtlonglong 于 2010-03-26 15:55:25发表:
好像不太对,我按照你说的方法试了,行不通的, 我有个问题: 对于exec函数族,它会将现有程序完全替换,这样即便是进入root用户也任然不能做任何操作的? 可能是我的分析的不太对吧,若是请指教: 我的程序如下,请指教: #include "apue.h" //包含各种库文件 int main(int argc, char *argv[]) { pid_t pid; printf("start...\n"); printf("father:\n"); system("whoami"); if ((pid = fork()) <0) err_sys("fork error"); else if(pid == 0) { if (execlp("su","su -",argv[1] ,(void *)0) < 0) err_sys("exec error"); system("whoami"); exit(0); } exit(0); } 输出为:找不到该用户!! 谢谢
cumtlonglong 于 2010-03-25 22:40:01发表:
谢谢,我试试先!{:2_93:}
mingdengzhao 于 2010-03-24 17:30:47发表:
0),想C程序中传参数(就是ROOT的密码) 1,新建进程FORK函数 2,EXECP家族函数执行su - 3,编译通过 4,运行测试 ./C 123456 <----ROOT的密码
cumtlonglong 于 2010-03-24 14:45:30发表:
顶顶顶
cumtlonglong 于 2010-03-23 18:07:50发表:
谢谢,我说的是用c语言实现,让程序运行状态从普通用户转到root用户权限,而其过程中程序不能关闭。
dlmuzhou 于 2010-03-23 14:41:30发表:
在命令行执行su root
cumtlonglong 于 2010-03-27 20:53:47发表:
顶顶顶顶
cumtlonglong 于 2010-03-26 15:55:25发表:
好像不太对,我按照你说的方法试了,行不通的,
我有个问题:
对于exec函数族,它会将现有程序完全替换,这样即便是进入root用户也任然不能做任何操作的?
可能是我的分析的不太对吧,若是请指教:
我的程序如下,请指教:
#include "apue.h" //包含各种库文件
int
main(int argc, char *argv[])
{
pid_t pid;
printf("start...\n");
printf("father:\n");
system("whoami");
if ((pid = fork()) <0)
err_sys("fork error");
else if(pid == 0)
{
if (execlp("su","su -",argv[1] ,(void *)0) < 0)
err_sys("exec error");
system("whoami");
exit(0);
}
exit(0);
}
输出为:找不到该用户!!
谢谢
cumtlonglong 于 2010-03-25 22:40:01发表:
谢谢,我试试先!{:2_93:}
mingdengzhao 于 2010-03-24 17:30:47发表:
0),想C程序中传参数(就是ROOT的密码)
1,新建进程FORK函数
2,EXECP家族函数执行su -
3,编译通过
4,运行测试
./C 123456 <----ROOT的密码
cumtlonglong 于 2010-03-24 14:45:30发表:
顶顶顶
cumtlonglong 于 2010-03-23 18:07:50发表:
谢谢,我说的是用c语言实现,让程序运行状态从普通用户转到root用户权限,而其过程中程序不能关闭。
dlmuzhou 于 2010-03-23 14:41:30发表:
在命令行执行su root