Existe uma maneira de executar o shell adb como raiz sem digitar em 'su'? -- adb campo com root-access camp android Relacionado O problema

Is there a way for me to run Adb shell as root without typing in 'su'?


49
vote

problema

português

Existe uma maneira de executar o shell adb como root sem digitar su ? Eu quero ser capaz de ter acesso root sem entrar na concha.

Inglês Original

Is there a way for me to run Adb shell as root without typing in su? I want to be able to have root access without going into the shell.

     

Lista de respostas

45
 
vote
vote
Melhor resposta
 

Se eu estou entendendo corretamente sua pergunta, você está perguntando como obter acesso root automaticamente quando executar adb shell , para que você não precise entrar no shell e digite su para executar um comando como root no seu telefone.

Isso é controlado por um sinalizador na sua partição de inicialização, que a maioria das roms personalizadas modificaram para permitir a permissão raiz por padrão. Se você for retirado para um ABCDefGHIJKLMNABCDEFGHIJKLMN2 Quando você usar ABCDEFGHIJKLMNABCDEFGHIJKLMN3 , então você tem duas opções permanentes e um temporário (o significado temporário que não fica se você reiniciar): < / p >.

    .
  1. Flash uma rom que inclui a modificação
  2. Crie uma inicialização personalizada e flash para o seu telefone
  3. reiniciar adbd no seu dispositivo com permissões raiz

Número 2 não é tão difícil, mas pode ser um pouco perigoso se você é descuidado. Há um artigo do Wiki Aqui, que explica o processo e inclui um par de scripts perl para ajudá-lo. Estas instruções assumem um ambiente Linux / UNIX. Eu pessoalmente usei essas instruções no Fedora Linux e posso dizer que funcionam, mas eu não sei sobre outros ambientes * nix como Macs. Eu também não sei de quaisquer instruções semelhantes do Windows, mas eu poderia tentar rastrear um pouco se você estiver no Windows. Os comandos exatos variam um pouco do telefone para o telefone, já que diferentes dispositivos usam diferentes tabelas de partição.

De um modo geral, no entanto, você precisa puxar sua inicialização atual.Img do seu telefone, descompactar-o, extrair o arquivo Ramdisk e encontrar o arquivo default.prop . Este é um arquivo de texto simples, que você precisa abrir em um editor de texto e, em seguida, encontrar a linha que contém o valor ro.secure . Se a linha disser ro.secure=1 , então você precisará alterá-lo para ro.secure=0 . Depois disso, você pode reacender o ramdisk e o boot.img e, em seguida, flash no seu telefone. Depois de reiniciar, você será recebido com um prompt ABCDEFGHJKLMNABCDEFGHIJKLMN8 Sempre que você execute ABCDEFGHIJKLMNABCDEFGHIJKLMN9 Sem ter que executar ABCDEFGHIJKLMNABCDEFGHIJKLMN10 .

Alternativamente, se você estiver usando uma ROM personalizada, mas não tem essa modificação, você pode simplesmente descompactar a ROM e modificar o boot.img que está incluído com ele usando as etapas acima. Então você pode fechar a ROM com o botão inicial recém-modificado e flash o arquivo zip como você normalmente faria.

Isso provavelmente vai sem dizer, mas seja cuidadoso ao fazer isso. Messiçar com sua partição de inicialização pode facilmente destruir seu telefone e forçá-lo a se recuperar via HBoot. Eu recomendo testar Fastboot para garantir que você possa usar comandos estendidos Fastboot e executar uma recuperação. Isso varia um pouco com base no seu modelo, mas a maioria dos telefones tem algum tipo de software de desktop que pode ser executado para refletir o telefone também.


A terceira opção é que, em muitos casos, pode ser possível reiniciar su1 no seu dispositivo com privilégios de raiz. Uma possibilidade é executar su2 a partir de um terminal de PC, embora isso não funcione em todas as configurações da ROM (a ROM deve ser construída como um "userdebug" um). Você também pode tentar Aplicativo ADBD de Chainfire . Isso não persistirá em uma reinicialização, então você precisaria usar o aplicativo ou su3 novamente qualquer momento que você reiniciou seu telefone.

 

If I'm understanding your question correctly, you're asking how to get root access automatically when you run adb shell, so that you don't have to go into the shell and type su to execute a command as root on your phone.

This is controlled by a flag in your boot partition, which most custom ROMs have modified to allow root permission by default. If you get dropped to a $ when you use adb shell then you have two permanent options and one temporary one (temporary meaning that it doesn't stick if you reboot):

  1. Flash a ROM that includes the modification
  2. Create a custom boot.img and flash it to your phone
  3. Restart adbd on your device with root permissions

Number 2 is actually not that difficult, but it can be somewhat dangerous if you're careless. There is a wiki article here which explains the process and includes a couple of Perl scripts to help you. These instructions assume a Linux/Unix environment. I have personally used these instructions on Fedora Linux and can tell you that they work, but I do not know about other *nix environments like Macs. I also do not know of any similar Windows instructions, but I could try to track some down if you are on Windows. The exact commands will vary somewhat from phone to phone since different devices use different partition tables.

Generally speaking, though, you need to pull your current boot.img from your phone, unpack it, extract the ramdisk, and find the default.prop file. This is a plaintext file, which you need to open in a text editor and then find the line that contains the value ro.secure. If the line says ro.secure=1 then you need to change it to ro.secure=0. After that you can re-pack the ramdisk and boot.img, then flash it to your phone. Once you reboot, you will be greeted with a # prompt whenever you perform adb shell without having to run su.

Alternatively, if you are using a custom ROM but it doesn't have this modification, you can just unzip the ROM and modify the boot.img that is included with it using the above steps. Then you can zip up the ROM with the newly modified boot.img and flash the zip file as you normally would.

This probably goes without saying, but be careful when doing this. Messing with your boot partition can quite easily wreck your phone and force you to recover via HBoot. I would highly recommend testing Fastboot to makes sure you can use extended Fastboot commands and perform a recovery. This varies a bit based on your model, but most phones have some sort of desktop software that can be run to reflash the phone as well.


The third option is that in many cases it may be possible to restart adbd on your device with root privileges. One possibility is to execute adb root from a PC terminal, although this will not work on all ROM configurations (the ROM must be built as a "userdebug" one). You can also try Chainfire's adbd insecure app. This will not persist across a reboot, so you would need to use either the app or adb root again any time you restarted your phone.

 
 
         
         
17
 
vote

Bem, se seu telefone estiver enraizado, você pode executar comandos com o comando "su -c".

Aqui está um exemplo de um comando cat no arquivo build.prop para obter uma informação de produto de telefones.

  su4   

Isso invoca a permissão raiz e executa o comando dentro do ''

Observe as 5 citações finais, ou seja necessário fechar todas as suas cotações de fim ou receber um erro.

Para esclarecer o formato é assim.

  su5   

Certifique-se de inserir o comando exatamente a maneira como você normalmente iria ao executá-lo no shell.

Dê uma tentativa, espero que isso ajude.

 

Well if you phone is rooted you can run commands with the "su -c" command.

Here is an example of a cat command on the build.prop file to get a phones product information.

adb shell "su -c 'cat /system/build.prop |grep "product"'" 

This invokes root permission and runs the command inside the ' '

Notice the 5 end quotes, that is required that you close ALL your end quotes or you will get an error.

For clarification the format is like this.

adb shell "su -c '[your command goes here]'" 

Make sure you enter the command EXACTLY the way that you normally would when running it in shell.

Give it a try, hope this helps.

 
 
 
 
2
 
vote

Basta instalar adbd inseguro .

 

Simply install adbd Insecure.

 
 
1
 
vote

O que você está tentando correr como raiz? Você está dizendo que você quer executar o shell adb com raiz, mas você não quer usar shell adb? Você pode esclarecer?

Se o aplicativo solicitar acesso root, o aplicativo Superuser em seu telefone deve manipular permissão ou não. O processo no qual você enraizou seu telefone deve ter incluído um aplicativo superusuário.

 

What are you trying to run as root for? You're saying that you want to run ADB shell with root but you don't want to use ADB shell? Can you clarify?

If the application requests for root access, then the SuperUser application on your phone should handle giving it permission or not. The process in which you rooted your phone should have included a SuperUser application.

 
 
       
       
1
 
vote

Como alternativa, você pode escrever seu script no telefone e simplesmente ter o ADB executá-lo, por exemplo:

  adb shell sh /sdcard/myscript.sh    

O script pode se elevar sem que sua intervenção (supondo superusuário esteja definido para lembrar a aprovação), por exemplo:

  su pm setInstallLocation 1    

Eu acabei de fazer isso no meu celular com sucesso, sendo o único problema que eu não fiquei certo como acabar com a sessão do ADB Shell. Eu tenho que ctrl-c no meu shell do Windows para retornar ao prompt de comando do Windows - caso contrário ADB apenas fica no ABCDEFGHIJKLMNABCDEFGHIJKLMN2 Prompt e não aceita a entrada.

 

As an alternative, you could write your script on the phone and simply have adb execute it, for example:

adb shell sh /sdcard/myscript.sh 

The script can elevate itself without your intervention (assuming SuperUser is set to remember the approval), for example:

su pm setInstallLocation 1 

I just did this on my phone with success, the only problem being that I haven't quite figured out how to cleanly end the adb shell session. I have to Ctrl-C in my Windows shell to return to the Windows command prompt -- otherwise adb just sits at the # prompt and doesn't accept input.

 
 
0
 
vote

Eu uso para reparo botão home problema problema


dispositivos adb

adb shell su -c commands

ou

adb raiz shell sqlite3 /data/data/com.android.providers.settings/databases/settings.db "Inserir em valores seguros (nome, valor) ('Device_Provision', '1');"

adb kill-server

 

i use for repair home button issue failure


adb devices

adb shell su -c commands

or

adb root shell sqlite3 /data/data/com.android.providers.settings/databases/settings.db "INSERT INTO secure (name,value) VALUES ('device_provisioned','1');"

adb kill-server

 
 
-1
 
vote

Você também pode definir o bit suid no seu 'sh'. Estou usando o busybox para que as instruções podem não corresponder à sua configuração:

    .
  1. adb shell
  2. su
  3. Mount -o Remount, RW / System (ou: ADB Remount)
  4. ls -la / sistema / bin / sh lrwxr-xr-x shell raiz 2012-11-10 15:20 sh - & gt; mksh
  5. chmod 4755 / System / bin / sh
  6. ls -la / sistema / bin / mksh
    -rwsr-xr-x shell raiz 157520 2012-11-10 09:54 mksh (Observe que o Bit Suid é definido)
  7. ^ D
  8. adb shell

e você deve ter o prompt raiz

 

You can also set the suid bit on your 'sh'. I'm using BusyBox so instructions may not match your setup:

  1. adb shell
  2. su
  3. mount -o remount,rw /system (or: adb remount)
  4. ls -la /system/bin/sh lrwxr-xr-x root shell 2012-11-10 15:20 sh -> mksh
  5. chmod 4755 /system/bin/sh
  6. ls -la /system/bin/mksh
    -rwsr-xr-x root shell 157520 2012-11-10 09:54 mksh (notice the suid bit is set)
  7. ^D
  8. adb shell

and you should have the root prompt

 
 
   
   

Perguntas relacionadas

5  Executando uma tarefa do Tasker via sshdroid (ou shell adb)  ( Running a tasker task via sshdroid or adb shell ) 
Estou tentando executar uma tarefa de tarefa manualmente do shell adb, via sshdroid. Eu estou Executando o seguinte em Putty (Windows SSH Client): am broad...

7  Como alterar o "modo de rede preferencial" usando ADB sem reinicialização?  ( How to change preferred network mode using adb without reboot ) 
Estou tentando mudar o meu telefone (CM 12, estoque 4.2, tanto enraizado) Modo de rede preferido de "GSM / WCDMA" (0) para "somente WCDMA" (2) e vice-versa (p...

4  adb pull - copie a pasta inteira para o computador  ( Adb pull copy whole folder to computer ) 
Como faço para copiar uma pasta do meu dispositivo Android para uma determinada pasta do meu computador? Se eu usar este comando: adb pull efs Copia ...

1  Alterar permissões de ADB para RW? [duplicado]  ( Change adb permissions to rw ) 
. Esta pergunta já tem respostas aqui : (2 respostas) ...

43  Existe uma maneira de olhar para dentro e modificar um arquivo de backup adb?  ( Is there a way to look inside and modify an adb backup created file ) 
Eu criei um backup do meu galaxy nexus com adb backup . O arquivo resultante é chamado Backup.db e é de alguma forma criptografado. Eu queria restaurar o b...

1  TWRP Advanced Wipe Soft Thicked?  ( Twrp advanced wipe soft bricked ) 
bagunçado com o meu lago Moto G7 Plus na linhagem 17.1 & amp; acabou com o TWRP na partição B & AMP; Recuperação de linhagem na partição A, não importa meus f...

7  Como extrair .zip através do shell adb  ( How to extract zip through adb shell ) 
Exatamente o que o título diz. Eu tenho um arquivo zip de 1,5 gb no meu sdcard que gostaria de extrair via adb (não puxando para PC e empurrando para trás). E...

31  Backup e restaurar as configurações e aplicação do Android através do ADB  ( Backup and restore android settings and application through adb ) 
Eu gostaria de perguntar se possível fazer backup e restaurar todas as configurações e aplicativos do Android através do ADB. Eu tentei: adb backup -all ...

6  Como faço para acessar arquivos .img com yaffs2?  ( How do i access img files with yaffs2 ) 
Eu tentei montá-los no Ubuntu, sem sorte, mount não reconhece o sistema de arquivos Yaffs2. Eu tentei yaffs2utils e ./unyaffs2 mas não descompacta os ar...

0  Problema adb enquanto conecta através de wifi  ( Adb issue while connecting through wifi ) 
Eu estou executando o encaminhamento da porta ADB do computador para celular com este comando: adb forward tcp:6401 tcp:50000 O que está funcionando co...

0  Nexus 10 não reconhecido no Debian Wheezy / Mac OS / Windows 8 com ADB  ( Nexus 10 not recognized on debian wheezy mac os windows 8 with adb ) 
Estou tentando conectar meu tablet Nexus 10 + Android 4.4 + Cyanogen-Mod 11 para o meu computador desktop, onde instalei o Debian Wheezy usando ADB. Trabalhou...

2  adb backup no marshmallow - é diferente?  ( Adb backup on marshmallow is it different ) 
dispositivo e configurações: moto x play (stock 6.0.1), , USB Depuração habilitado nas opções do desenvolvedor e verificada usando adb devices . Out...

14  Qual é a diferença entre 'adb push' e 'adb install'?  ( Whats the difference between adb push and adb install ) 
Vai adb push apenas copie o arquivo no local de destino Considerando que adb install copia o arquivo no local de destino e também define a permissão ade...

50  Backup de ADB cria arquivo 0-byte; solicita a senha de backup atual, apesar de nunca definir um; "Falha ao definir a senha" para a senha de backup da área de trabalho  ( Adb backup creates 0 byte file prompts for current backup password even though ) 
o problema: Toda vez que eu executo backup adb, recebo uma mensagem perto da parte inferior da tela inicial dizendo Backup starting... , seguido por uma me...

1  Como fazer backup e restaurar a configuração da APN via adb?  ( How to backup and restore apn setting via adb ) 
Como fazer backup e restaurar a configuração da APN via ADB? Eu estou no Android 6.0 sem raiz. ...




© 2021 pergunte.org All Rights Reserved. Casa de perguntas e respostas todos os direitos reservados


Licensed under cc by-sa 3.0 with attribution required.