Pregunta

Tengo que escribir un programa C que me permita leer archivos / escritura que son propiedad de la raíz. Sin embargo, sólo puedo ejecutar el código en virtud de otro usuario. Tengo la contraseña de root, pero no hay comandos "su" "sudo" o en el sistema, así que no tengo manera de acceder a la cuenta de root (hay comandos shell prácticamente ninguna en absoluto, en realidad). No sé mucho acerca de los permisos de UNIX, así que no sé si es o no es realmente posible hacer esto sin la explotación del sistema de alguna manera o la ejecución de un programa de propiedad de la raíz en sí (con + s o lo que sea) . Cualquier consejo?

Gracias!

P.S. No, esto no es nada malicioso, esto es en un iPhone.

¿Fue útil?

Solución

En el marco del sistema de permisos de UNIX, es necesario ejecutar un fichero titularidad de la raíz en sí que está marcado con setuid root (+ s, como usted ha dicho) o se comunica con algún proceso que ya está ejecutando como root.

Si no existe tal archivo, usted está fuera de suerte.

Otros consejos

Se puede hacer esto con el bit SUID de la aplicación, pero si quieres de esta c application correr un poco de cáscara de esto se puede regentado en usuario local si lo hace normalmente esto es el sistema de seguridad.

Sin embargo, usted puede read/write/execute ficheros titularidad de raíz, pero si su usuario no está en el grupo de archivo de su archivo de destino debe tener read/write/execute enchufar el pasado 3 bits o cuando el usuario está en el grupo propietario del archivo debe comprobar / aplicar esto a 3 bits en posición media. (3 primeros bits establecer el permiso de propietario, pero esto no puede, por una información útil para usted).

Si usted no tiene ningún acceso a la cuenta root. A continuación, si el grupo y otros permisos de usuario no haga las funciones de acceso que debe tener, no se puede hacer con esta otra cosa que tratar de conseguir algo de usuario prilveaged para acceder a este archivo. En otros casos se puede hacer algunas correcciones en los permisos de acceso a archivos, pero no de este sistema, se debe obtener disco duro de este dispositivo y se unen a otros para cambiarlo o carga en este dispositivo algunos viven sistema para cambiar esto. Sin embargo, usted puede hacer esto en el sistema privleaged no en esto.

Más información sobre SUID bits se puede encontrar en:

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

http://www.everyjoe.com/ newlinuxuser / explicar-what-is-setuid-y-setgid /

El iPhone SDK no lo permite. Su aplicación es un recinto de seguridad y no se le permite salir de esa caja de arena, excepto en formas muy específicas proporcionadas por Apple. La única manera de hacer esto en un iPhone es jailbreak.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top