Tengo un problema extraño en el que las aplicaciones, adb, etc. pueden acceder correctamente a mi almacenamiento SD interno y externo sin problemas , a menos que se ejecuten como root , en cuyo caso son completamente inaccesibles. Esto está en mi Oppo Find 7 con ColorOS 1.2.7i (Android 4.3), y verifiqué que no tengo este problema con WRITE_EXTERNAL_STORAGE. No estoy seguro de cuándo comenzó a ocurrir esto, pero creo que fue después de una actualización del sistema operativo hace bastante tiempo.
Cuando ejecuto mount
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 soy root y acceder a ellas sin problemas dentro del mismo shell , pero los permisos son extraños 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
... bien 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...
... Root Explorer lo 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
... Mmm.
Mi /etc/vold.fstab
solo 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 arreglar esto?
Entonces, ¡resulta que SuperSU marcó automáticamente su configuración de "Separación de espacio de nombres de montaje" sin decírmelo! No tenía ni idea de que tuviera tal característica, y mucho menos que estuviera rota.
Bo Lawson
Bo Lawson
mateo leer
/fstab.qcom
@BoLawson Intenté copiar/etc/vold.fstab
y reiniciar, pero no hay cambios en el comportamiento.Bo Lawson