我正在制作一个Cydia应用程序,有安装文件的权限。为此,我需要能够获得对/Applications的根访问权限。我看过here,但有点不清楚。有没有人能更好地解释一下?
谢谢!
发布于 2012-05-04 11:07:47
切勿将system与setuid一起使用!例如,如果一个怀有恶意的人要将PATH更改为/tmp:$PATH,并且此人将自己的程序添加到/tmp并将其命名为"ls",那么即使运行这段简单的代码,他们也会获得对您的设备的根访问权限:
setuid(0); system("ls");相反,您应该使用exec函数系列,而不是execvp/execlp。
发布于 2012-04-26 06:47:32
你可以使用这个
setuid( 0 );
system( "/path/to/script.sh" );其中脚本的路径是应用程序中用于安装文件的脚本
或
setuid( 0 );
system( "cmd" );其中cmd是命令,例如
setuid( 0 ); system( "echo Hello World" );您还可以通过这种方式将日志记录到/tmp目录或任何其他位置。
setuid( 0 ); system( "echo Hello World >> /tmp/install.log" );setuid (0);为其提供根访问权限,而system (cmd);是实际的命令
请注意如何使用它,因为root可以访问所有地方。
https://stackoverflow.com/questions/9643042
复制相似问题