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

2183
Miha

Я пытаюсь получить 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".

3
ДА, и это хорошо! Rolf 6 лет назад 0

2 ответа на вопрос

2
Johan Van Barel

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 
0
osexp2003

http://www.androidauthority.com/android-4-3-new-security-features-253244/

Раздел / system теперь монтируется nosuid для процессов, порожденных зиготами, что не позволяет приложениям Android выполнять программы setuid.

Похожие вопросы