En mi dispositivo rooteado con Android 4.2.2, tengo las siguientes herramientas instaladas:
- Terminal Emulator
- BusyBox Free
En Terminal Emulator, el comando su
cambia con éxito el usuario a root real:
root@hwH30-U10:/ # id -u
uid=0(root) gid=0(root)
Entonces hago remount
de /system
como R/W
:
root@hwH30-U10:/ # mount | grep system
/emmc@android /system ext4 rw,realtime,noauto_da_alloc,commit=1,data=ordered 0 0
Incluso hago:
root@hwH30-U10:/ # chmod 777 /system
Pero no puedo cambiar nada, por ejemplo, permisos o contenido de archivos originales en /system
como /system/build.prop
!
Estoy seguro de que los permisos y los montajes están bien porque puedo crear un nuevo archivo, /system/tmp.prop
, cambiar su contenido y permisos con Terminal Emulator.
Realmente no tengo idea de por qué estas operaciones no están permitidas mientras que desde el punto de vista de Linux, todo está bien para que root realice estos cambios!
¿Hay alguna protección adicional codificada dentro de Android, por ejemplo, en el kernel?
¿Cómo puedo resolver esto, por favor?
0 votos
¿Cuál es el resultado de ejecutar
chmod
? ¿Has probado algún tipo de aplicación de explorador de root como ES File Explorer en modo root para cambiar los permisos de archivo? ¿Cuál es tu aplicación de gestión de root y versión de Android?0 votos
Utilizo SuperSU, 3C Toolbox y BusyBox en Marshmallow y KitKat sin ningún problema.
0 votos
@TamoghnaChowdhury,
chmod
diceOperación no permitida
. ¡Y sí, ES File Explorer en modo root, FileExpert y muchas otras aplicaciones no pueden cambiar nada! Mi aplicación de gestión de root esKingRoot
en Android 4.2.2 (como mencioné,id -u
enTerminal Emulator
me dice que realmente soy root con id 0).0 votos
¿Podría ser que haya algunas restricciones de SELinux en su lugar? No estoy seguro si el
ls
en el dispositivo lo admite, pero podrías intentarlo con alguno de los parámetros-Z
/--context
/--lcontext
/--scontext
para mostrar cualquier contexto de SELinux potencial.1 votos
@Izzy,
ls -Z
no dice nada acerca de ningún contexto, sin embargo, Google dice que SELinux ha sido integrado en Android a partir de la versión 4.3. El mío es 4.2.2.0 votos
Desde la terminal root, ¿puedes realizar estos pasos:
cp /system/build.prop /system/build.prop.orig
;echo lolcat > /system/build.prop
;cat /system/build.prop
;mv /system/build.prop.orig /system/build.prop
. Estoy interesado en la salida del comando cat.1 votos
@Firelord,
echo lolcat > /system/build.prop
falla conk_shell/10210:17681: no se puede crear /system/build.prop: Permiso denegado
como yo sospechaba.echo lolcat > /system/build.prop.orig
funciona! ymv /system/build.prop.orig /system/build.prop
falla conerror en ' /system/build.prop.orig': Operación no permitida
como yo sospechaba. Por lo tanto, la salida del comandocat
no es interesante; son los contenidos originales.0 votos
Interesante. ¿Puedes dar el resultado de
lsattr /system/build.prop
?0 votos
@Firelord, el resultado de
lsattr /system/build.prop
es-----i--A----
, cinco guiones, luego i, luego dos guiones, luego A y luego cuatro guiones.0 votos
Aquí está el problema. Está establecido como atributo inmutable, lo que significa que el archivo no se puede borrar ni modificar. Cámbialo así:
chattr -i /system/build.prop
y luego intenta ese comando lsattr. Si la salida es diferente esta vez, prueba con mis comandos de lolcat y dime el resultado.0 votos
@Firelord, ¡excelente! Estaba al tanto de su atributo
i
pero en Linuxvi
, el comando:w!
puede escribir incluso con este atributo, ¡pero parece que elvi
de BusyBox no puede hacerlo! De todos modos, ¡muchas gracias! Si quieres, añade una respuesta y la marcaré como respuesta; o responderé mi pregunta. ¡Gracias de nuevo :)0 votos
En realidad es raro que vi pueda editar un archivo con atributos inmutables. ¿Estás seguro de que el atributo estaba configurado cuando probaste vi en ese archivo? No puedo guardar modificaciones en el archivo, incluso con vi, por lo que el atributo inmutable funciona como se espera en mi sistema.
0 votos
@Firelord, Anteriormente recibí mensajes como
(añade ! para anular)
y:w!
podía escribir. Pero ahora que creé un archivo luego de ejecutarchattr +i
y tienes razón,vi
no puede evadir el atributoi
! Desafortunadamente no pude recordar la salida delsattr
de los archivos anteriores, pero estoy seguro de que:w!
podría resolver algunos mensajes como(añade ! para anular)
. Sin embargo, no puedo reproducirlo ahora.