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.

english

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

7  Como você remove aplicativos pré-instalados em um telefone enraizado?  ( How do you remove pre installed apps on a rooted phone ) 
Eu tenho um Nexus enraizado e quero remover alguns dos aplicativos pré-instalados, como o Amazon MP3, por exemplo. Qual é a melhor maneira de fazer isso? ...

1  Qualquer maneira de obter raiz sem uma recuperação personalizada? (Bootloader desbloqueado)  ( Any way to get root without a custom recovery unlocked bootloader ) 
Eu tenho um telefone com um bootloader desbloqueado (Motorola Moto Maxx XT1225), mas não há recuperação personalizada disponível ainda. Existe alguma maneir...

0  Como posso obter todos os meus arquivos do meu telefone sem USB  ( How can i get all my files off my phone without usb ) 
Eu tenho um telefone Android "Essential" que está enraizado, possui terminal e SuperSu instalado, mas não reconhecerá que ele está conectado a um computador e...

19  Usando o servidor SMB sem acesso root  ( Using smb server without root access ) 
Estou procurando uma maneira para o meu HTC Hero (Android 2.1) para que eu possa compartilhar o conteúdo do meu cartão SD e memória do telefone pela rede WiFi...

310  Eu enraizei meu telefone. O que agora? O que eu ganho de enraizamento?  ( Ive rooted my phone now what what do i gain from rooting ) 
Esta é uma questão comum por aqueles que acabaram de enraizar seus telefones. Quais aplicativos, roms, benefícios, etc. Eu recebo dorotamento? O que devo faze...

3  Como instalar pacotes de comandos de terminais adicionais para dispositivos enraizados?  ( How to install bundles of additional terminal commands for rooted devices ) 
Eu enraizei um dispositivo HTC Wildfire s recentemente e piscou um Android 4.1.2 AOKP Jelly Bean Custom ROM. Um benefício é que eu posso usar o terminal agora...

49  Existe uma maneira de executar o shell adb como raiz sem digitar em 'su'?  ( Is there a way for me to run adb shell as root without typing in su ) 
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. ...

3  Eu não posso mais escrever / emulado / 0 sem acesso raiz ou sistema  ( I can no longer write to emulated 0 without root or system access ) 
Eu tenho uma Sprint Galaxy Note 3. Eu enraizei com a raiz automática do CF, twrp piscou, girou Jellybomb e, em seguida, restaurou de volta ao estoque de um ba...

0  Nota 3 - Apps mortos  ( Note 3 apps killed ) 
Eu tenho uma nota enraizada 3: samsung-sm-n900a (AT & AMP; T) android 4.3 baseband n900aucubnb4 A questão que estou tendo é que há algo que está mat...

1  Como faço para Flash Stock Android Rom no meu Nokia 2.1 - ao qual eu fortten tanto o código PIN e as credenciais do Google?  ( How do i flash stock android rom on my nokia 2 1 to which ive forotten both p ) 
Então eu recentemente herdei um Nokia 2.1 de um parente que passou. Eu não sei o código PIN, nem sei as credenciais do Google 0needs. Quando eu insiro Recup...




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


Licensed under cc by-sa 3.0 with attribution required.