Для укоренения устройство означает мочь запустить произвольные программы как корень. Так по определению, если машина не базирована, Вы не можете запустить программы как корень. Существуют программы, работающие как корень на устройстве на базе Android. Но Вы не можете управлять тем, что они делают.
Android не является операционной системой Unix. Ядро совпадает с Linux, но остальное отличается. Что касается ядра, существует только три способа запустить программу как корень:
init
программа как корень. Подключение устройства может также заставить ядро запускать программу как корень в некоторых конфигурациях.В системе Unix, программах как su
и sudo
корень setuid. Они могут быть вызваны любым пользователем, и они решают (на основе того, кто называет их, какой пароль они вводят и так далее), выполнить ли оболочку или другую программу как корень или возвратить ошибочное состояние. Именно эти программы, не ядро, выполняет авторизацию. Ядро только управляет числовыми идентификаторами пользователей, оно не обрабатывает учетные записи пользователей и пароли.
Стандартная система Android не имеет никаких учетных записей пользователей (идентификаторы пользователей используются, чтобы изолировать приложения, не изолировать пользователей). Это не использует основанную на пароле авторизацию в смысле Unix (это может использовать PIN или другой метод аутентификации аутентифицировать единственного пользователя системы). Для укоренения устройство на базе Android означает принимать меры, чтобы некоторая оболочка работала как корень, обычно добиралась adb shell
дать Вам оболочку, работающую как корень. Нет все еще никакого пароля root, так как существует отдельный пользователь устройства.
Ваша проблема точно походит на тот, который это описано здесь: Совместно используемая папка в VirtualBox для Apache
Попытайтесь добавить эту установку на свою конфигурацию Apache:
EnableSendfile off