Мой телефон имеет root-права CM7, а в Superuser.apk есть Connectbot в списке разрешенных. Резервное копирование Titanium сообщает, что у него есть root-доступ, чтобы доказать, что у меня действительно работает root. Кажется, я помню, что в прошлом мог запускать команды в Connectbot от имени пользователя root.
Но теперь я захожу в Connectbot → Local и пытаюсь запустить команду с помощью sudo
, и он просто говорит «отказано в доступе». Никаких всплывающих окон или чего-то еще. То же самое для приложения эмулятора терминала. Как запускать команды от имени root?
Двоичный su
файл работает так же, как и в Linux; он выполняет все команды, которые следуют за root, пока вы не наберете exit
(или не завершите процесс и т. д.). sudo <command>
по существу делает:
su
<command>
exit
Android обычно не включает sudo
, поэтому, если вы хотите запускать команды так же, как и с sudo
, синтаксис будет следующим:
su -c "[command_1;command_2;...;command_N]"
Например, чтобы получить список установленных пакетов в «корневом» режиме, вы можете либо сделать
$ su
# pm list packages
# ........ <listing of packages scrolls down> ......
# exit
или
$ su -c "pm list packages;exit"
эндолит
su
сам по себе, это работает. Connectbot получает права суперпользователя, и тогда я могу делать что-то как root. Значитsudo
, когда-нибудь работает?iOS
su
двоичный файл .. так что не говорите,su
что это эквивалент Androidsudo
.Броам
sudo
не устанавливается на Android по умолчанию; sudo был написан, чтобы дать людям возможность доступа к определенным командам (через конфигурацию) вместо тогоsu
, чтобы постоянно входить в систему как root.su
является более важной командой, когда на вашем устройстве вообще нет uid 0.Чак
Луис А. Флорит
su -c "pm..."
я получаюPermission denied
, и приложение появляется с аDeny
в журналах. У меня есть другие приложения сAllow
. Тост не появлялся с запросом разрешений... Есть идеи?асс
-c
, что это сложный вариант для использования. Я просто пытался, скажем, "su logcat
", и это никогда не срабатывало.