ทำไม sudo ทำงานบน Linux แต่ไม่ใช่ Android?


22

ฉันไม่ได้มีโอกาสอ่านมากพอเกี่ยวกับAndroid , Linux หรือ UNIX เพื่อตอบคำถามนี้ด้วยตัวเอง sudoใช้งานได้บนเครื่อง Linux แต่ไม่สามารถใช้งานบน Android ได้จนกว่าคุณจะรูทอุปกรณ์มือถือ (เช่น Samsung GT-N8013) ทำไมอุปกรณ์มือถือจำเป็นต้องรูท แต่ไม่ใช่การติดตั้งลีนุกซ์ทั่วไป?


บริบทของคำถามของฉันเกี่ยวข้องกับ /programming/14019698/adb-shell-sudo-on-windows-7/14019726#14019726

(นอกจากนี้ยังมีวิธีใดบ้างที่โปรแกรมจะขอให้ทำงานrootบน Android เช่นเดียวกับที่คุณมีการเพิ่มสิทธิ์ในการ "เรียกใช้ในฐานะผู้ดูแลระบบ" บน Windows หรือไม่หากคุณคิดว่าคำถามนี้ควรอยู่ในเธรดของตัวเอง หนึ่ง)


มันควรจะอยู่ในรายชื่อที่จะได้รับsudoers sudoมันไม่ได้อยู่ใน Android Ubuntu
user3539

คำตอบ:


20

sudoเป็นโปรแกรมปกติที่มี suid bit ซึ่งหมายความว่าจะต้องsudoมีการติดตั้งบนระบบ ระบบ Linux บางระบบเท่านั้นที่sudoติดตั้งตามค่าเริ่มต้นเช่น Debian

ระบบ Android ส่วนใหญ่มีการกำหนดเป้าหมายสำหรับผู้ใช้ที่ไม่จำเป็นต้องรู้ internals ของ Android (เช่นแต่ละแอปพลิเคชัน Android ทำงานภายใต้ผู้ใช้ของตัวเอง) ดังนั้นจึงไม่จำเป็นต้องให้วิธีการโต้ตอบสำหรับ enduser เพื่อเรียกใช้คำสั่งเป็นระบบ ผู้บริหาร

โดยทั่วไปคุณสามารถใช้suแทนที่จะsudoเรียกใช้คำสั่งในฐานะผู้ใช้อื่น แต่คุณต้องรู้ข้อมูลประจำตัวของผู้ใช้เป้าหมายสำหรับsu( sudoคุณต้องรู้ข้อมูลประจำตัวของผู้ใช้ที่ใช้คำสั่ง)


9

sudoไม่เป็นสากล เพียงเพราะมันมีอยู่ในดิสทริบิวเตอร์เฉพาะที่คุณใช้ไม่ได้หมายความว่ามันมีอยู่ในทุกระบบปฏิบัติการที่ใช้ลินุกซ์เคอร์เนลด้วย


8

โทรศัพท์จะต้องถูกรูทเพื่อให้rootผู้ใช้ติดตั้งsudo(หรือแอพอื่น ๆ ) มิฉะนั้นจะถูกติดตั้งในฐานะผู้ใช้ "มาตรฐาน" และไม่มีสิทธิ์เข้าถึงรูต

สำหรับคำถามที่สองเมื่อsudoติดตั้งบนโทรศัพท์ที่รูตแล้วจากประสบการณ์ของฉันแอพที่ต้องการเพียงแค่ร้องขอและคุณจะได้รับพรอมต์ป๊อปอัพ


5

คุณสัมผัสจุดสำคัญในคำถามของคุณ: รูทการติดตั้ง Linux ทั่วไป: คุณบูตจาก Live CD และเขียนทับ bootsector ของฮาร์ดไดรฟ์เพื่อโหลดรหัสของคุณเอง

เป็นเพียงการรูทเครื่องพีซีที่ลำบากน้อยกว่าบนอุปกรณ์กึ่งฝังตัวเช่นโทรศัพท์เพื่อให้ผู้คนมักจะลืมว่าการติดตั้งระบบปฏิบัติการที่สองด้วยดูอัลบูตเป็นการรูทเป็นหลัก (สิ่งเดียวที่จะต่อสู้คุณในเรื่องนี้คือ BIOS ด้วย การบูตที่ปลอดภัย แต่สามารถรีเซ็ตได้อย่างง่ายดาย)

และระบบปฏิบัติการบนอุปกรณ์ Android ก็ไม่ได้มาพร้อมกับsudoคำสั่ง (หรือคล้ายกัน) ติดตั้ง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.