Файлы System/bin Android 12. Справочник.


  Все     Команда     Скрипт     Служба     Приложение  

run-as
Запустить команду от имени пользователя

Тип файла: команда
  Eng  

usage: run-as <имя-пакета> [--user <uid>] <команда> [<аргументы>]

Запустить команду от имени пользователя определенного приложения

Типичное использование:
run-as <имя-пакета> <команда> <аргументы>

Двоичный файл run-as имеет setuid, но будет проверять следующее:
1) вызывается от пользователя «shell» или «root» (в противном случае прервется)
2)<имя-пакета> — это имя установленного и допускающего отладку пакета
3) каталог данных пакета правильно сформирован (см. package.c)
Если это так, то сделает текущим (cd) каталог данных пакета,
перейдет в каталог идентификатор пользователя / идентификатор группы
приложения, затем запустит там команду.

Это может быть полезно для ряда различных вещей на разрабатываемях
устройствах:

Разрешить разработчикам приложений просматривать свои собственные
прикладные данные во время разработки.

Запустить двоичный исполняемый файл gdbserver, чтобы разрешить
встроенную отладку.

   

Комментарии
Эта программа работает как root с правами set-uid на рабочих устройствах Android.

Будьте очень осторожны при его изменении, чтобы избежать серьезных проблем с безопасностью. Имейте в виду следующее:
- Эта программа должна работать только для пользователей «root» или «shell».
- Избегайте чего-либо более сложного, чем простые системные вызовы, пока uid/gid не будет сброшен до обычного пользователя или пока вы не выйдете.
Это позволяет избежать зависимости от переменных среды, свойств системы и других внешних факторов, которые могут непредсказуемым образом повлиять на библиотеку C.
- По возможности не доверяйте пользовательскому вводу и/или файловой системе.


Цель этой программы — запустить команду от имени пользователя определенного приложения. Типичное использование:

run-as <имя-пакета> <команда> <аргументы>

Двоичный файл run-as имеет setuid, но будет проверять следующее:

- что он вызывается от пользователя «shell» или «root» (в противном случае прервать)
- что '<package-name>' - это имя установленного и отлаживаемого пакета
- что каталог данных пакета правильно сформирован (см. package.c)

Если это так, он перейдет в каталог данных пакета, перейдет в каталог приложения.
идентификатор пользователя / идентификатор группы, затем запустите команду там.

Это может быть полезно для ряда различных вещей на производственных устройствах:

- Разрешить разработчикам приложений просматривать свои собственные аппликационные данные во время разработки.

- Запустите двоичный исполняемый файл gdbserver, чтобы разрешить встроенную отладку.