我写了一个简单的程序
当您运行此程序时,如果您不是root
用户,请输入root
密码,然后将uid更改为root
if (getuid())
{
char *pass = getpass("");
//how to change uid to root ?
}
Run Code Online (Sandbox Code Playgroud)
root
密码时如何将uid更改为root ?
无法从非root用户更改为root用户.这就是重点.程序喜欢login
,sshd
或者su
最初以root身份开始工作,要么是因为他们的祖先,要么是在可执行文件上使用suid位,并且在使用密码或其他方法进行身份验证之前要小心限制你可以执行的操作,然后更改为适当的uid(root或你登录的用户)和exec
'另一个程序(通常是shell).