如何从程序获取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权限 - 因此进程询问用户登录信息并使用此权限执行)。
答
问题通过直接向su实用程序提供root密码来解决。通过使用fd_set或管道以及系统调用forkpty可以很容易地获得它,它返回一个准备登录的shell。
请检查我的岗位描述这个问题,显示了一个解决方案: http://www.andreypudov.com/2013/02/user-authorization-in-linux.html
哪个版本的Linux? – 2013-02-20 12:58:28
解决方案适用于自RHEL 4以来的所有现代Linux环境。 – syscreat 2013-02-20 13:00:18