2 votos

Almacenamiento SD interno y externo inaccesible como Root

Estoy teniendo un problema extraño donde las aplicaciones, adb, etc puede acceder correctamente a mi almacenamiento interno y externo SD sin problemas a menos que se estén ejecutando como Root en cuyo caso son completamente inaccesibles. Esto es en mi Oppo Find 7 corriendo ColorOS 1.2.7i (Android 4.3), y he verificado que no estoy sufriendo de. este tema con WRITE_EXTERNAL_STORAGE. No estoy seguro de cuándo empezó a ocurrir esto, pero creo que fue después de una actualización del sistema operativo hace bastante tiempo.

Cuando corro mount en un shell adb sin privilegios, tiene estas entradas que no aparecen cuando lo ejecuto como superusuario:

/dev/block/vold/179:65 /storage/sdcard1 vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1023,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/179:29 /storage/sdcard0 ext4 rw,seclabel,nosuid,nodev,noexec,relatime,discard,nodelalloc,noauto_da_alloc,data=ordered 0 0
/dev/block/vold/179:29 /mnt/secure/asec ext4 rw,seclabel,nosuid,nodev,noexec,relatime,discard,nodelalloc,noauto_da_alloc,data=ordered 0 0
tmpfs /storage/sdcard0/.android_secure tmpfs ro,seclabel,relatime,size=0k,mode=000 0 0

Puedo volver a montar esas particiones en otro lugar mientras Root y acceder a ellos sin problemas dentro de la misma shell pero los permisos son raros y ninguna otra aplicación Root puede acceder a ellos:

$ su
# mkdir /storage/sd_test
# chmod 777 /storage/sd_test
# ls -al /storage | grep sd_test
# drwxrwxrwx root     root              2015-05-28 15:17 sd_test

... bueno hasta ahora ...

# mount -o rw,user,umask=0000 -t vfat /dev/block/vold/179:65 /storage/sd_test
# ls -al /storage | grep sd_test
d---rwxr-x system   media_rw          2015-05-28 15:00 sd_test
# chmod 777 /storage/sd_test
# ls -al /storage | grep sd_test
d---rwxr-x system   media_rw          2015-05-28 15:00 sd_test

... diferentes permisos, pero puedo ver y leer/escribir los archivos dentro de ...

screenshot from another app

... Root Explorer muestra con los permisos "originales", pero la carpeta está vacía ...

# mount | grep sd_test
/dev/block/vold/179:65 /storage/sd_test vfat rw,dirsync,relatime,uid=1000,gid=1023,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0

... hmm.

Mi /etc/vold.fstab sólo tiene una línea:

dev_mount sdcard /storage/sdcard1 auto /devices/msm_sdcc.2/mmc_host

Y /fstab.qcom :

/dev/block/platform/msm_sdcc.1/by-name/system         /system      ext4    ro,barrier=1,discard                                wait
/dev/block/platform/msm_sdcc.1/by-name/userdata       /data        ext4    nosuid,nodev,barrier=1,noauto_da_alloc,discard      wait,check,encryptable=footer
/devices/msm_sdcc.2/mmc_host                          /storage/sdcard1   vfat    nosuid,nodev         wait,voldmanaged=sdcard:auto
/devices/msm_sdcc.1/mmc_host/mmc0/mmc0:0001/block/mmcblk0         /storage/sdcard0   ext4    nosuid,nodev,barrier=1,noauto_da_alloc,discard        wait,voldmanaged=sdcard:29

¿Cómo puedo solucionarlo?

1 votos

Primero Android 4.2.2 y anteriores, el archivo de configuración vold.fstab específico del dispositivo define mapeos desde dispositivos sysfs a puntos de montaje del sistema de archivos, y cada línea sigue este formato dev_mount <label> <punto_de_montaje> <partición> <ruta_sysfs> [flags] Yourdevice dev_mount sdcard /storage/sdcard1 auto /devices/msm_sdcc.2/mmc_host. Cont. Siguiente comentario.

1 votos

En las versiones 4.3 y posteriores de Android, los distintos archivos fstab utilizados por init, vold y recovery se unificaron en el archivo /fstab.<device>. Para los volúmenes de almacenamiento externo que son gestionados por vold, las entradas deben tener el siguiente formato. <src> <mnt_point> <type> <mnt_flags> <fs_mgr_flags Entiendes que el formato que estás ejecutando es para 4.2.2 e inferiores como se indica en el post color OS 4.3 que es un formato erróneo ( referencia )

0 votos

@BoLawson He intentado copiar /fstab.qcom encima de /etc/vold.fstab y reiniciar, pero no hay ningún cambio en el comportamiento.

0voto

Matthew Read Puntos 35808

Resulta que SuperSU marcó automáticamente la opción "Montar separación de espacios de nombres" sin avisarme. No tenía ni idea de que tuviera esa función, y mucho menos de que estuviera estropeada.

0 votos

Menos mal que ya lo has descubierto. ¿Podría decirnos cómo ha llegado a esta conclusión? Eso puede ayudar a alguien a solucionar un caso similar.

0 votos

@Firelord Suerte, de verdad. Estaba revisando la configuración de SuperSU y lo vi, e inmediatamente me di cuenta de que probablemente estaba causando el problema.

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