Я хотів би мати на своєму телефоні SSH, HTTP та SMB-сервери на стандартних портах.
Існує спосіб запустити Termux як root і сервери працювати на привілейованих портах?
Запуск вкоріненого Android 7.1 на розблокованому пристрої.
Я хотів би мати на своєму телефоні SSH, HTTP та SMB-сервери на стандартних портах.
Існує спосіб запустити Termux як root і сервери працювати на привілейованих портах?
Запуск вкоріненого Android 7.1 на розблокованому пристрої.
Відповіді:
За замовчуванням su
від Termux простий. При запуску він приносить /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 - збереження-середовище -c "LD_LIBRARY_PATH = $ PREFIX / lib $ ROOT_SHELL"
для збереження навколишнього середовища Термукс.
Я просто вирішив ту саму проблему. Цу мені не вийшло. Я знайшов цей проект: https://github.com/st42/termux-sudo
Також я хотів запустити sshd як root. Це поза коробкою з termux-sudo, але спочатку він не хотів використовувати файл санкціонованих ключів, тому що дозволи на нього та всі його батьківські каталоги, де не обмежено root (і на моєму пристрої / каталог не може бути обмежений до root 700, тому що тоді програмне забезпечення mediaplayer чомусь не працює).
Тому мені довелося додати параметр StrictModes no
до файлу конфігурації sshd: /data/data/com.termux/files/usr/etc/ssh/sshd_config
і тепер він працює! :)
Як тільки ви запустите su, це виводить вас з підмурка termux. Ви можете спробувати дозвільний SELinux, ось як я обійду річ, у якій відмовлено у дозволі.