3 votos

¿Cómo fijar los permisos de archivo en Android 5 para que una determinada aplicación pueda acceder a ciertos archivos?

Antecedentes: Tenía un Nexus 4 rooteado con Android 4.4.4 que funcionaba bien. Luego recibí la notificación de actualizar a Android 5. Para ello, me mostró la recuperación de existencias para Android 4.4.4 de Google e inicié la actualización (pero no desarraigué el teléfono, tal vez esto fue un error). El proceso de actualización en sí mismo se desarrolló sin problemas. Después de la actualización, volví a flashear el TWRP 2.8.2 y lo reinicié con SuperSU 2.36, e hice una copia de seguridad.

Entonces, me di cuenta de que faltaban algunos datos (fotos, E-Books, ). Bueno, en realidad no desaparecieron, sino que se encuentran bajo un falso directorio "0" (/storage/emulated/0/0). Además, cuando intenté acceder a mi carpeta de E-Books directamente con FBReader, me dijo que no había suficientes permisos para acceder al directorio.

Primero, intenté el botón "Arreglar permisos" en TWRP, pero eso me puso en un bucle de arranque. Después de restaurar la copia de seguridad, usé el administrador de archivos de TWRP para mover todos los datos del falso directorio "0" a donde pertenecen y borré el directorio "0" ahora vacío. Al reiniciar una vez más, apareció la pantalla de "Optimización de aplicaciones", pero sólo para 7 aplicaciones. Ahora puedo acceder a mis libros electrónicos de nuevo, pero todavía no hay fotos (viejas) en la aplicación de fotos de Google. Las fotos tomadas después de la copia de seguridad aparecen bien. Con el administrador de archivos o la terminal, puedo acceder todos las fotos están bien una vez que llamo setenforce 0 . Los permisos mostrados por ls -Z /storage/emulated/0/DCIM/Camera se ven iguales en todas las fotos, tanto visibles como invisibles en la aplicación de fotos: -rw-rw---- root sdcard_r u:object_r:fuse:s0 . Así que supongo que hay algún permiso adicional de SELinux que tengo que establecer en los archivos de imágenes antiguas para que la aplicación de fotos pueda acceder a ellos. Por lo tanto, mi pregunta es: ¿qué conceptos de permiso están en juego aquí, y qué comandos son necesarios para asignar archivos/directorios a una cierta aplicación? Gracias.

Actualizar: Acabo de descubrir que sólo puedo tomar nuevas fotos con setenforce 0, así que tiene que haber alguna rotura importante de SELinux en alguna parte.

1voto

moonbutt74 Puntos 153

Intenta usar Supersu 2.49 beta para Lollipop (LP) 5.0.

Desenraízate por completo primero.

Tengo LP 5.0 Touchwiz en mi ficha de Samsung con SElinux reforzando y funcionando Root. La versión Supersu en su recuperación probablemente puede ser reemplazada por desempaquetar su recuperación con cualquier número de métodos y/o conjuntos de herramientas, y reemplazar el archivo. El mejor enfoque sería actualizar su recuperación si hay una disponible. Además, los scripts de permisos fijos necesitan un enfoque diferente/nuevo a partir de Android 5.0.

Estos son mis permisos de corrección imperfecta script para mi otra pestaña de Samsung que ejecuta LP 5.1.1:

#!/system/bin/sh
mount -o rw,remount /system
find -type d -exec chmod 755 {} \;
find -type d -name '.*' -exec chmod 755 {} \;
find -type f -name '.*' -exec chmod 644 {} \;
find -type f -name '.su' -exec chmod 755 {} \;
find -type f -exec chmod 755 {} \;
find -type f -name '*.h' -exec chmod 644 {} \;
find -type f -name '*.a' -exec chmod 644 {} \;
find -type f -name '*.o' -exec chmod 644 {} \;
find -type f -name '*.so' -exec chmod 644 {} \;
find -type f -name '*.so.*' -exec chmod 644 {} \;
find -type f -name '*.c' -exec chmod 644 {} \;
find -type f -name '*.cpp' -exec chmod 644 {} \;
find -type f -name '*.cgf' -exec chmod 644 {} \;
find -type f -name '*.xml' -exec chmod 644 {} \;

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