Код: Выделить всё
dsu --daemon uid.list &
где uid.list - файл, строки которого имеют формат UID[/comment], например, "0/superuser" , или "5000/admin", или просто "5001", со списком разрешенных UID. Если другой процесс c разрешенным UID вызовет
Код: Выделить всё
dsu -c <command>
то command выполнится сервером, а клиент получит stdout и stderr от этой command. Если вызов dsu будет без параметров, то выполнится интерпретатор SHELL из окружения сервера. Вызывать dsu можно и вне chroot, лишь бы UID совпадал. Два бинарника в архиве собраны с разными именами используемых сокетов (DSUPERUSER1 и DSUPERUSER2) и могут использоваться параллельно в разных чрутах. Если хотите еще - надо пересобрать, исправив начало в su.h.
Отмечу, что данные бинарники по-прежнему можно использовать в качестве получателей рут-прав в андроиде. Нужно лишь заполнить uid.list UIDами андроид-приложений, которым дозволен рут. Конечно, тут уже никакой интерактивности, оповещений и пополнения списка на лету. Но зато 62 Kb статики! Предупреждаю - это для продвинутых, поскольку сервер должен быть вызван с максимальным полномочиями (capabilities и SELinux), а на современных девайсах один su-бинарник на другой простым копированием не заменишь.
Ну, и если кто заменит проблему, пожалуйста, сообщите. Ну и добро пожаловать тем, кто сам захочет что-то улучшить.