【发布时间】:2013-04-13 12:33:56
【问题描述】:
我写了一个简单的程序
当你运行这个程序时,如果你不是root用户,输入root密码,然后把uid改成root
if (getuid())
{
char *pass = getpass("");
//how to change uid to root ?
}
当你有root密码时如何将uid更改为root?
【问题讨论】:
-
顺便提一下:不要在程序中存储未加密的root密码,使用散列函数。
-
if (getuid)与if (getuid())有很大不同。前者永远是真的...... -
@TNW:如果没有未经哈希处理的版本就无法进行身份验证,那么这并不是很有帮助。
-
我已将
if (getuid)更改为if (getuid()) -
在调用程序时可以简单地使用 sudo 吗?如果没有,也许您应该查找要在哪个平台上实现的 sudo 的源代码,并将其用作实现权限提升的指南。