Перейти к содержимому

Android / Linux игнорирует флаг setuid

3

Я пытаюсь получить root-доступ к своему китайскому планшету x86. С адб у меня есть рут. Я скопировал двоичный файл "sh" и установил бит setuid, и из adb он работает как положено:

1|shell@x98air3g_c5j8:/ $ which su.sh /system/xbin/su.sh shell@x98air3g_c5j8:/ $ ls -al /system/xbin/su.sh -rwsr-sr-x root shell 395004 2016-01-02 17:39 su.sh shell@x98air3g_c5j8:/ $ mount | grep system /dev/block/by-name/system /system ext4 ro,seclabel,noatime,data=ordered 0 0 shell@x98air3g_c5j8:/ $ su.sh #  

Однако, когда тот же двоичный файл вызывается через сам планшет (в эмуляторе терминала), он не сохраняет привилегии root (бит setuid, похоже, игнорируется). Просто нормальная оболочка.

Что мешает биту setuid работать? Нет флагов монтирования "nosuid", и я попытался отключить selinux с помощью "setenforce permissive".

2 318 просмотров
Miha спросил 10 лет назад
M 16

2 ответа

2

The /system partition is mounted with "nosuid" option, preventing Android applications from executing setuid programs. You can temporary unmount and mount again with suid option:

adb shell mount -o rw,remount /system 
Johan Van Barel ответил 10 лет назад
J 21