0 votos

¿Cómo funciona la interfaz de Android en cuanto a permisos Unix?

Me gustaría saber cómo funciona el backend/permisos para Android(estoy usando v4.1.2 en un s3 mini).

En Android, soy capaz de ejecutar aplicaciones GUI que tienen diferentes UID/GID-s en el sistema como se ve en la salida ps/top.

En un escritorio linux, todas las aplicaciones se ejecutan como tu usuario, a menos que utilices sudo/su para ejecutar software como otra persona.

Entonces, ¿cómo hace Android para ejecutar aplicaciones GUI sin lanzar errores de permiso denegado y pedir contraseña desde el principio?

He mirado en los resultados de búsqueda y no he encontrado a nadie discutiendo esto.

0 votos

¿Por qué necesitaría una contraseña? Para empezar, no crea contraseñas para cada UID. No hay errores de permisos denegados porque los permisos no están siendo denegados.

0 votos

¡Bienvenido a los entusiastas de Android! Mi consejo especial para los recién llegados: la mayoría de nuestras etiquetas tienen bonitas etiquetas-wikis adjuntas, con algunos primeros auxilios y enlaces útiles. Ya has identificado la etiqueta correcta, pero ¿has visto su wiki ¿todavía? Eso respondería a algunas de tus preguntas :) También es relevante: permisos de archivo - esos son los "permisos Unix" que tienes en mente.

0 votos

Dos cosas, aplicaciones como el reproductor de música no requieren sudo incluso en el escritorio de Linux, ya que está trabajando dentro de los permisos del usuario actual. Lo mismo ocurre con Android. Y el servicio que requiere permisos adicionales mira el servicio de Google Play tiene entonces configurado como proceso de instalación.

2voto

Andy Brudtkuhl Puntos 1714

Android utiliza (o abusos según el punto de vista) el sistema de usuarios y permisos de Unix para algo más que separar a diferentes personas en el mismo ordenador. En su lugar, los utiliza para aislar aplicaciones entre sí. Cada paquete instalado (app) tiene su propio ID de usuario Unix creado. Los archivos pertenecientes a esa app son propiedad de ese usuario Unix, y no pueden ser accedidos por otros usuarios Unix. Cuando se inicia una aplicación, el cigoto (que es como el proceso init ) garantiza que se cambie al usuario Unix correcto antes de ejecutar cualquier parte del código de la aplicación. De este modo, las aplicaciones no pueden leer ni escribir archivos que pertenezcan a otras aplicaciones. Si intentan hacerlo, obtendrán el tipo de error de "permiso denegado" por el que estás preguntando.

La GUI realmente no tiene nada que ver con los permisos del sistema de archivos, porque no es un archivo en el sistema de archivos. Sólo el propio sistema Android puede escribir en el framebuffer directamente: todas las aplicaciones pasan por Flinger de superficie El editor de GUI, para presentar sus GUI para que se dibujen en la pantalla. Esto no pasa por el sistema de permisos de Unix en absoluto.

1voto

Zingking Puntos 1

Porque todos los procesos de la aplicación se bifurcan desde zygote, que se ejecuta con Root, podría su a cualquier uid mientras se bifurca

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X