¿Por qué no puedo obtener acceso de root desde shell?

14
> adb shell
sh-4.1$ su
Permission denied

He rooteado mi teléfono con éxito. Sé esto porque puedo instalar aplicaciones en la tarjeta SD y tengo un programa llamado SD Maid que puede operar con permisos de root.

Kshitiz Sharma
fuente
La instalación de aplicaciones en SDCard no necesariamente requiere root, y SDMaid también funciona (parcialmente) sin ella, por lo que no es una prueba. Su cita de la cáscara, por otro lado, parece demostrar que no tuvo éxito con su enraizamiento. Al verificar sus aplicaciones instaladas, ¿hay SuperUser o SuperSU disponibles? ¿Recibe mensajes como "SDMaid solicitó permisos de root" que necesita confirmar?
Izzy
@ Izzy recibo notificaciones como SD Maid has been granted super root permissions? Además, acabo de instalar play.google.com/store/apps/… y me pide una confirmación de superusuario que se otorga con éxito.
Kshitiz Sharma
@Izzy, suplicaría diferir. La instalación de aplicaciones en SDCard requiere rootear su teléfono. ¿Podría señalar un ejemplo contrario?
Kshitiz Sharma
Claro: vaya a Configuración-> Aplicaciones-> Administrar aplicaciones y recorralas. Las aplicaciones que lo soportan simplemente se pueden mover tocando el botón correspondiente. Segundo: Eche un vistazo a AppMonster , justo en la primera captura de pantalla, debajo del "icono de la luna" de "Sleepy Timer": esta aplicación es compatible con App2SD, sin root. AppMonster puede moverlo (no requiere root), e incluso se ofrecerá a hacerlo. App2SD es compatible de forma nativa desde Android 2.2. Siga la etiqueta Preguntas frecuentes: App2SD
Izzy
Para el comentario anterior: OK, tan completo que la raíz funcionó. Nuevamente, verifique sus aplicaciones para SuperUser / SuperSU, esta vez inicie la aplicación. En su configuración, debería permitirle ver qué permisos ha almacenado; tal vez una vez accidentalmente marcó "recordar" y presionó el botón "negar" para adb shell. Si encuentra una entrada correspondiente, simplemente quítela. La próxima vez que se le vuelva a preguntar, asegúrese de presionar el botón correcto :)
Izzy

Respuestas:

14

Desde aquí :

Es posible que deba activar la raíz adb desde el menú de configuración del desarrollador. Si ejecuta adb root desde la línea cmd puede obtener:

el acceso a la raíz está deshabilitado por la configuración del sistema - habilitar en la configuración -> opciones de desarrollo

el acceso a la raíz se deshabilita mediante la configuración del sistema: habilítelo en la configuración -> opciones de desarrollo Una vez que active la opción de raíz (solo ADB o Aplicaciones y ADB), se reiniciará adb y podrá usar la raíz desde la línea cmd.

Antonio
fuente
55
Esta configuración no está disponible en todas las ROM (no pude encontrarla, por ejemplo, en mi LG Optimus 4X , que por supuesto está rooteado). En mi humilde opinión, esta es una especialidad de CyanogenMod.
Izzy
¿Qué sabes sobre Android, amigo? > el acceso a la raíz se deshabilita mediante la configuración del sistema - habilítelo en la configuración -> opciones de desarrollo Una vez que active la opción de raíz (solo ADB o Aplicaciones y ADB), se reiniciará adb y podrá usar la raíz desde la línea cmd.
Nizzy
2

Hay una aplicación en Google Play llamada ADBD Insecure de Chainfire . Esta aplicación le permite ejecutar adbd en modo raíz si su dispositivo está rooteado cuando ejecuta los dispositivos Stock ROM. Hace poco me enteré de esta aplicación.

La versión en Google Play no es gratuita, pero hay una versión gratuita disponible. El enlace a la versión gratuita está vinculado en la descripción de la aplicación en Google Play.

Lo bueno de esta aplicación es que funciona con Stock ROM que se han rooteado. Si está utilizando un kernel personalizado o una ROM personalizada, probablemente no necesite esta aplicación. Pero si todavía está utilizando una ROM de stock, solo rooteada, es posible que desee obtener esta aplicación para su dispositivo.

adbd Insecure le permite ejecutar adbd en modo raíz si su dispositivo está rooteado. (Tenga en cuenta que si está ejecutando un kernel personalizado, es probable que ya implemente esta funcionalidad)

Si está ejecutando un núcleo de stock (hecho por el fabricante del teléfono) en su dispositivo, es probable que adbd se esté ejecutando en modo "seguro", incluso si está rooteado. Esta aplicación le permite ejecutar adbd en modo "inseguro", que le da acceso de root en "adb shell", le permite acceder a los archivos y directorios del sistema a través de "adb push / pull", y le permite ejecutar el comando "adb remount" para hacer su / partición del sistema de escritura.

ingrese la descripción de la imagen aquí

Ryan Conrad
fuente
Probé la aplicación ADBD Insecure gratuita del hilo XDA original en mi Oneplus 5 Nougat rooteado con Magisk, pero no ayudó y también rompió la conectividad MTP en modo de depuración USB hasta que se reinició el teléfono.
Vadzim
0

Hoy en día, Magisk se usa comúnmente para enraizar.

He descubierto que en mi Oneplus 5 (Oxygen OS, Nougat) fue suficiente para ir a la aplicación Magisk Manager, abrir la pantalla de permisos de superusuario y alternar Shell (com.android.shell) para resolver el problema de permiso de adb su denegado.

Vadzim
fuente
0

Habilite el acceso raíz para adb desde el menú de configuración del desarrollador. Luego conecte su cable usb y escriba:

adb root

Debería volver

restarting adbd as root

Ahora relanzar el caparazón

adb shell
cardamomo
fuente
Stock Android no proporciona "acceso de raíz para adb" en las Opciones de desarrollo. adb rootsolo es posible en userdebugROM: ¿Por qué "adb root" no hace nada?
Irfan Latif