如何从程序获取root权限

如何从程序获取root权限

问题描述:

有可能通过简单的代码来获得root权限是这样的:如何从程序获取root权限

char *name[2]; 
name[0] = "/bin/bash"; 
name[1] = "-p"; 
name[2] = 0x0; 

execve(name[0], name, 0x0); 

,但这种解决方案需要设置粘着位CHOWN根:根; chmod u + s。

问题是如何仅通过提供用户名和密码(通过进程和此进程获取root权限 - 因此进程询问用户登录信息并使用此权限执行)。

+0

哪个版本的Linux? – 2013-02-20 12:58:28

+0

解决方案适用于自RHEL 4以来的所有现代Linux环境。 – syscreat 2013-02-20 13:00:18

问题通过直接向su实用程序提供root密码来解决。通过使用fd_set或管道以及系统调用forkpty可以很容易地获得它,它返回一个准备登录的shell。

请检查我的岗位描述这个问题,显示了一个解决方案: http://www.andreypudov.com/2013/02/user-authorization-in-linux.html