Colección de citas famosas - Slogan de motivación - ¿Cómo se implementa la gestión de permisos de Android?

¿Cómo se implementa la gestión de permisos de Android?

Según la experiencia de uso del usuario, los permisos involucrados en Android se pueden dividir aproximadamente en las siguientes tres categorías:

(1) Permisos del propietario del teléfono Android: después de que el usuario compra el Android teléfono, los usuarios no necesitan ingresar ninguna contraseña, tienen la autoridad para instalar software de aplicación general, usar aplicaciones, etc.;

(2) Autoridad raíz de Android: esta autoridad es la autoridad más alta en Android sistema y puede acceder a todos los archivos del sistema y realizar cualquier operación con los datos. Este permiso no está disponible de forma predeterminada en la fábrica y es necesario utilizar software como z4Root para obtenerlo. Sin embargo, no se recomienda esta operación porque puede hacer que el usuario pierda los derechos de la garantía original del teléfono móvil. De manera similar, si el teléfono Android está rooteado, el usuario podrá utilizar el teléfono con permisos de root de Android sin ingresar ninguna contraseña.

(3) Permisos de aplicaciones de Android: Android proporciona un SDK (kit de desarrollo de software) enriquecido, según el cual los desarrolladores pueden desarrollar aplicaciones en Android. El acceso de la aplicación a los recursos del sistema Android requiere los permisos de acceso correspondientes. Este permiso se denomina permiso de aplicación de Android. Se establece durante el diseño de la aplicación y entra en vigor cuando se instala por primera vez en el sistema Android. Nota: Si la aplicación está diseñada con permisos mayores que los permisos del propietario del teléfono Android, la aplicación no se ejecutará. Por ejemplo: un teléfono que no tiene permisos de root de Android no puede ejecutar Root Explorer porque se requieren permisos de root de Android para ejecutar la aplicación.

Definición de permisos del sistema Android

El sistema Android define el usuario/grupo de usuarios de Android de la siguiente manera en el archivo de encabezado /system/core/private/android_filesystem_config.h, y los permisos se basan en esta configuración de usuario/grupo.

Vale la pena señalar que después de instalar cada aplicación en el sistema Android, el sistema le asignará una ID de usuario, como app_4, app_11, etc. Los siguientes son los resultados del proceso de navegación mediante el software Calendario y Terminal en el sistema Android (la fuente negra indica el ID de usuario asignado por la aplicación):

En el sistema Android, los usuarios/usuarios mencionados anteriormente Los grupos tienen acceso a los archivos. El acceso sigue el principio de control de acceso del sistema Linux, es decir, los derechos de acceso del usuario/grupo de usuarios al archivo se determinan en función del carácter de control de permiso con una longitud de 10 caracteres. El formato de este carácter de control sigue las siguientes reglas:

El primer carácter: indica un tipo de archivo especial. Los caracteres pueden ser d (que indica que el archivo es un directorio), b (que indica que el archivo es un dispositivo del sistema, que utiliza bloques de entrada/salida para interactuar con el mundo exterior, generalmente un disco), c (que indica que el archivo es un dispositivo del sistema, que utiliza entrada/salida continua de caracteres para interactuar con el mundo exterior, como puertos serie y dispositivos de sonido), "." indica que el archivo es un archivo normal sin atributos especiales.

De 2 a 4 caracteres: se utilizan para determinar los permisos de usuario del archivo.

De 5 a 7 caracteres: se utilizan para determinar los permisos de grupo del archivo;

> p>

8 a 10 caracteres: se utiliza para determinar los permisos de otros usuarios (usuarios que no son el propietario del archivo ni un miembro del grupo) del archivo.

Los caracteres segundo, quinto y octavo se utilizan para controlar el permiso de lectura del archivo. El carácter r significa que los usuarios, miembros del grupo u otras personas pueden leer datos del archivo. Un guión "-" significa que el miembro no puede leer datos.

Los caracteres en los bits 3, 6 y 9 controlan el permiso de escritura del archivo. Si el bit es w, significa que se permite la escritura, si es "-", significa que no se permite la escritura. .

Los caracteres en los bits 4, 7 y 10 se utilizan para controlar el permiso de fabricación del archivo. Si el bit es x, significa que se permite la ejecución, si es "-", la ejecución no. permitido.

Por ejemplo, el permiso de control de acceso representado por "drwxrwxr--?2 rootroot4096?February 11 10:36 lu" (marcado en fuente negra) es: porque el carácter en la primera posición de lu es d , entonces sabemos que lu es un directorio. Los atributos en las posiciones 2 a 4 son rwx, lo que significa que el usuario root tiene permiso para enumerar todos los archivos en lu, crear archivos nuevos o eliminar archivos existentes en lu, o usar lu como directorio de trabajo actual. Los permisos en las posiciones 5 a 7 son rwx, lo que significa que los miembros del grupo raíz tienen los mismos permisos que el root. Los permisos en los bits 8 a 10 son solo r--, lo que significa que los usuarios que no son root y los miembros que no pertenecen al grupo raíz solo tienen permisos en la lista del directorio lu. Estos usuarios no pueden crear ni eliminar archivos en lu, ejecutar archivos ejecutables en la basura o tener basura como directorio de trabajo actual.

Aplicación de permisos de aplicaciones de Android

El paquete APK de cada aplicación contiene un archivo AndroidMainifest.xml, que además de enumerar la biblioteca de tiempo de ejecución de la aplicación, las dependencias en ejecución, etc. El acceso al sistema requerido por la aplicación se enumera en detalle. Al desarrollar software de aplicación, los programadores deben solicitar explícitamente permisos de acceso desde el sistema Android configurando el campo de permiso de uso del archivo.