我需要编写一个C程序,该程序将允许我读取/写由root拥有的文件。但是,我只能在另一个用户下运行代码。我有root密码,但是系统上没有“ sudo”或“ su”命令,因此我无法访问root帐户(实际上实际上没有任何shell命令)。我对UNIX权限不了解很多,所以我不知道在不以某种方式利用系统或运行root本身拥有的程序(使用 +S或其他任何程序)的情况下,实际上是否有可能执行此操作(或其他) 。有建议吗?

谢谢!

ps否,这不是恶意的,这是在iPhone上。

有帮助吗?

解决方案

在UNIX权限系统下,您需要运行由root本身拥有的文件,该文件标记为setUID-root(+s,如您所说),或与已经作为root运行的某些过程进行通信。

如果没有这样的文件,您将不幸。

其他提示

您可以将SUID设置为应用程序来执行此操作,但是如果您愿意 c application 运行一个外壳,如果您这样做通常是安全系统,请在本地用户上运行。

但是你可以 read/write/execute root拥有的文件,但是如果您的用户不在文件组中,则必须设置目标文件 read/write/execute 在最后3位或用户在文件所有者组中时,您必须检查/将其应用于中间位置的3位。 (3个第一位设置给所有者的权限,但这可能不是由您提供的可用信息)。

如果您无法访问 root 帐户。然后,如果组和其他用户权限不符合您必须访问功能,则除了尝试获取一些prilveaed用户以访问此文件之外,您不能做任何事情。在其他情况下,您可以在文件访问权限中进行一些修复,但可以从此系统中进行一些修复,您必须 从这个设备上获取硬盘驱动器 并附上其他以更改它或 在此设备上加载一些实时系统 改变这一点。但是,您可以在不在此的系统上执行此操作。

有关更多信息 SUID bits 您可以找到:

http://www.codecoffee.com/tipsforlinux/articles/028.html

http://www.everyjoe.com/newlinuxuser/explain-what-is-setuid-and-setgid/

iPhone SDK不允许这样做。您的应用程序是沙箱,不允许以苹果提供的非常特定的方式进入该沙箱。在iPhone上这样做的唯一方法是越狱。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top