En mi dispositivo rooteado con Android 4.2.2, tengo instaladas las siguientes herramientas:
En Terminal Emulator, su
el comando cambia con éxito al usuario a una raíz real:
root@hwH30-U10:/ # id -u
uid=0(root) gid=0(root)
Entonces yo remount
/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
Entonces yo incluso:
root@hwH30-U10:/ # chmod 777 /system
¡Pero no puedo cambiar nada, por ejemplo, permisos o contenidos de /system
archivos originales 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 mediante Terminal Emulator.
Realmente no tengo idea de por qué estas operaciones no están permitidas desde el punto de vista de Linux, ¡todo está bien para que root haga estos cambios!
¿Hay alguna protección adicional codificada dentro de Android, por ejemplo, en el kernel?
¿Cómo resolver esto, por favor?
Según mi comentario y el comentario posterior de Yasser , puedo concluir que el problema fue el conjunto de atributos inmutables en el archivo build.prop. Si otros archivos y directorios tampoco se pueden editar o eliminar, es posible que también tengan el mismo atributo o un atributo de solo agregar.
El remedio es usar este comando con privilegios de root:
chattr -i FILE_PATH # FILE_PATH is the file which currently has immutable attribute
Use -iR
seguido de la ruta de un directorio para eliminar el atributo inmutable de un directorio de forma recursiva.
Cabe señalar que OP ya tiene Busybox instalado. chattr
y lsattr
no son las utilidades que se encuentran de forma nativa en Android.
Puede encontrar información relevante sobre el comando chattr usado y el atributo de solo agregar en mi respuesta aquí .
Tamoghna Chowdhury
chmod
? ¿Ha probado alguna aplicación de exploración raíz como ES File Explorer en modo raíz para cambiar los permisos de archivo? ¿Cuál es su aplicación de administración de raíz y la versión de Android?Tamoghna Chowdhury
Yasser Zamani
chmod
diceOperation not permitted
. y sí, ES File Explorer en modo raíz, FileExpert y muchas otras aplicaciones no pueden cambiar nada. Mi aplicación de administración de root estáKingRoot
en Android 4.2.2 (como mencioné,id -u
meTerminal Emulator
dice que soy realmente root con id 0).izzy
ls
dispositivo lo admite, pero puede probarlo con cualquiera de los parámetros-Z
/--context
/--lcontext
/--scontext
para que se muestre cualquier contexto potencial de SELinux.Yasser Zamani
ls -Z
no diga nada sobre ningún contexto, sin embargo, Google dice que SELinux se ha instalado en Android desde la versión 4.3. el mio es 4.2.2.Señor del Fuego
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.Yasser Zamani
echo lolcat > /system/build.prop
fallak_shell/10210:17681: can't create /system/build.prop: Permission denied
como supuse.echo lolcat > /system/build.prop.orig
¡obras! ymv /system/build.prop.orig /system/build.prop
falla confailed on ' /system/build.prop.orig': Operation not permitted
lo que supuse. Entonces, la salida delcat
comando no es interesante; Es el contenido original.Señor del Fuego
lsattr /system/build.prop
?Yasser Zamani
lsattr /system/build.prop
es-----i--A----
, cinco guiones, luego i, luego dos guiones, luego A y luego cuatro guiones.Señor del Fuego
chattr -i /system/build.prop
y luego pruebe ese comando lsattr. Si el resultado es diferente esta vez, prueba mis comandos lolcat y di el resultado.Yasser Zamani
i
atributo, pero en Linuxvi
, el comando:w!
puede escribir incluso con este atributo, ¡pero parece que BusyBoxvi
no puede! de todos modos, muchas gracias! Si lo desea, agregue una respuesta y la marcaré como respuesta; O responderé a mi pregunta. Gracias de nuevo :)Señor del Fuego
Yasser Zamani
(add ! to override)
y:w!
podía escribir. Pero ahora creé un archivochattr +i
y tienes razón, ¡vi
no puedo omitir eli
atributo! Desafortunadamente, no pude recordar los archivos anteriores,lsattr
pero estoy seguro de que:w!
podría resolver algunos mensajes como(add ! to override)
. Pero no puedo reproducirlo ahora.