Я хотел бы иметь SSH, HTTP и SMB сервер на стандартных портах на моем телефоне.
Есть ли способ запустить Termux от имени root и запустить ли серверы на привилегированных портах?
Запуск рутированного Android 7.1 на разблокированном устройстве.
Я хотел бы иметь SSH, HTTP и SMB сервер на стандартных портах на моем телефоне.
Есть ли способ запустить Termux от имени root и запустить ли серверы на привилегированных портах?
Запуск рутированного Android 7.1 на разблокированном устройстве.
Ответы:
По умолчанию suTermux прост. При запуске он приносит /system/bin/shвам вместо оболочки Termux (как правило bash). Чтобы решить эту проблему, вы можете установить пользовательскую оболочку su для Termux:
удачная установка цу
И тогда вы можете запустить tsuтак, чтобы ваши bashи все теперь были под привилегией root.
Дополнительная информация:
используйте редактор (например vim), чтобы увидеть, /data/data/com.termux/files/usr/bin/suи вы обнаружите, что в строке 10 он вызывает exec su $@напрямую, в то время как tsuон выполняет обнаружение оболочки, а в строке 80 он выполняет
exec su --preserve-environment -c "LD_LIBRARY_PATH = $ PREFIX / lib $ ROOT_SHELL"
чтобы сохранить окружающую среду Termux.
Я просто решил ту же проблему для себя. Цу не сработал для меня. Я нашел этот проект: https://github.com/st42/termux-sudo
Также я хотел запустить sshd от имени пользователя root. Это стандартная версия с termux-sudo, но сначала он не хотел использовать файл author_keys, потому что разрешения на него и все его родительские каталоги не ограничены root (и на моем устройстве каталог / не может быть ограничен). на root 700, потому что тогда ПО медиаплеера по какой-то причине больше не работает).
Поэтому мне пришлось добавить опцию StrictModes noв конфигурационный файл sshd: /data/data/com.termux/files/usr/etc/ssh/sshd_configи теперь это работает! :)
Как только вы запустите su, он выведет вас из подоболочки termux. Вы можете попробовать SELinux permissive, вот как я могу обойтись без разрешения.