ฉันต้องการเรียกใช้ Termux เป็น root: เป็นไปได้หรือไม่


10

ฉันต้องการเซิร์ฟเวอร์ SSH, HTTP และ SMB บนพอร์ตมาตรฐานในโทรศัพท์ของฉัน

มีวิธีการรัน Termux ในฐานะรูทและเซิร์ฟเวอร์รันบนพอร์ตที่มีสิทธิพิเศษหรือไม่?

การรัน Android 7.1 ที่รูทบนอุปกรณ์ที่ปลดล็อค

คำตอบ:


14

ค่าเริ่มต้นsuจาก Termux นั้นง่าย เมื่อเรียกใช้จะนำมา/system/bin/shให้คุณแทนเชลล์ของ Termux (โดยทั่วไปbash) เพื่อแก้ปัญหานี้คุณสามารถติดตั้ง su wrapper แบบกำหนดเองสำหรับ Termux โดย

apt ติดตั้ง tsu

จากนั้นคุณสามารถเรียกใช้tsuเพื่อให้bashทุกสิ่งของคุณอยู่ภายใต้สิทธิ์ของรูท

ข้อมูลเพิ่มเติม:
ใช้เครื่องมือแก้ไข (เช่นvim) เพื่อดู/data/data/com.termux/files/usr/bin/suและคุณจะพบว่าที่บรรทัดที่ 10 เรียกexec su $@ได้โดยตรงขณะอยู่ในtsuนั้นทำการตรวจหาเชลล์และที่บรรทัด 80 รัน

exec su --preserve-environment -c "LD_LIBRARY_PATH = $ คำนำหน้า / lib $ ROOT_SHELL"

เพื่อรักษาสภาพแวดล้อมของ Termux


4

ฉันเพิ่งแก้ไขปัญหาเดียวกันสำหรับตัวเอง tsu ไม่ได้ผลสำหรับฉัน ฉันพบโครงการนี้: https://github.com/st42/termux-sudo

นอกจากนี้ฉันต้องการเรียกใช้ sshd เป็น root มันเป็นกล่องที่มี termux-sudo แต่ไม่ต้องการใช้ไฟล์ authorized_keys ในตอนแรกเพราะการอนุญาตให้ใช้งานและมันเป็นไดเรคทอรี่หลักที่ไม่ จำกัด การรูท (และบนอุปกรณ์ของฉันไดเรกทอรี / ไม่สามารถ จำกัด ได้ เพื่อรูท 700 เพราะซอฟต์แวร์ mediaplayer ไม่ทำงานอีกต่อไปด้วยเหตุผลบางอย่าง)

ดังนั้นฉันต้องเพิ่มตัวเลือกStrictModes noไปยังไฟล์ sshd config: /data/data/com.termux/files/usr/etc/ssh/sshd_configและตอนนี้มันใช้งานได้! :)


สิ่งนี้ช่วยและควรเป็นคำตอบที่ได้รับการยอมรับ
ArtDeineka

0

เมื่อคุณรัน su มันจะนำคุณออกจาก termux subshell คุณสามารถลองใช้ SELinux ที่ได้รับอนุญาตนั่นคือวิธีที่ฉันได้รับอนุญาตในสิ่งที่ถูกปฏิเสธ


เช่นเดียวกับฉันพิมพ์ su จากนั้น superuser ขอให้ฉันอนุญาตรูทฉันจะให้มันแล้วฉันต้องรันเซิร์ฟเวอร์เป็นรูท หรือเมื่อฉันทำเช่นนั้นฉันสามารถเรียกใช้เซิร์ฟเวอร์ที่มีผู้ใช้ปกติ แต่พวกเขายังคงได้รับสิทธิพิเศษพอร์ต?
Magnetic_dud
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.