ฉันจะทำทุกอย่างเพียงแค่สมมติว่าฉันทำงานเป็น superuser ได้อย่างไร


10

มีวิธีที่ฉันสามารถทำสิ่งต่าง ๆ เพียงแค่สมมติว่าเมื่อฉันเรียกใช้พวกเขาฉันกำลังเรียกใช้พวกเขาในฐานะผู้ดูแลระบบที่มีสิทธิพิเศษ (รูต AKA) ฉันรู้ว่ามันอาจเป็นอันตรายและทั้งหมด แต่เป็นความเสี่ยงที่ฉันยินดีที่จะใช้ในชื่อของความสะดวกสบาย


อย่าทำอย่างนี้. มันจะทำลายระบบของคุณ (นอกเหนือจากการเปิดเผยเครื่องของคุณถึงการโจมตี) อ่านunix.stackexchange.com/questions/1052/…
MarkovCh1

แต่ถ้าคุณยังต้องการเรียกใช้แอปพลิเคชันเฉพาะในฐานะรูทโปรดดูwiki.archlinux.org/index.php/Sudo
MarkovCh1

1
จอนฉันย้อนกลับการแก้ไขของคุณ แม้ว่าคุณจะไม่ทำมันคำถาม / คำตอบยังคงมีประโยชน์กับคนอื่นที่พิจารณาเรื่องนี้ เพื่อให้หน้านี้มีประโยชน์คำถามที่ควรจะอยู่หรือผู้เข้าชมใหม่ก็จะเห็น "คำถามถอน" ตามด้วยคำตอบสำหรับคำถามที่พวกเขาไม่สามารถดู :)
ซีเซียม

2
ไม่ควรลงคะแนนเสียงด้วยเหตุผลเดียวกัน
Mark Rooney

2
ใช่มันเป็นคำถามที่ยอดเยี่ยม สิ่งเดียวที่โง่ที่นี่คือไม่ได้รับคำแนะนำในความคิดเห็นและคำตอบ +1
Tom Brossman

คำตอบ:


21

โดยปกติฉันจะมีคำแนะนำในการตอบคำถาม แต่นี่เป็นความคิดที่ไม่ดีฉันจะพาคุณไปยังสถานที่สองแห่งเพื่ออ่านวิธีการทำสิ่งนี้ คุณสามารถเอามันจากที่นั่น โปรดทราบว่าเมื่อคุณทำลายระบบของคุณคุณสามารถโพสต์ที่นี่อีกครั้งเพื่อขอความช่วยเหลือ แต่ผู้คนจะหัวเราะและเขย่าหัวของพวกเขาและอ้างอิงถึงข้อผิดพลาด pebkacฯลฯ

ก่อนอื่นหน้าช่วยเหลือของ Ubuntu บนรูท / sudo สังเกตคำเตือนที่เด่นชัดทั้งสามข้อ

นี่คือผู้ใช้ Ubuntu Forums ที่ทำสิ่งนี้และไม่สามารถแก้ไขระบบได้

เก็บสำรองข้อมูลของคุณถ้าคุณทำและพิจารณาภูมิปัญญาของความปลอดภัยในการซื้อขายเพื่อความสะดวก อาจวางในอัลบั้ม Dead Kennedys เก่าในขณะที่คุณติดตั้ง ...


3

หากคุณสนใจเฉพาะสิ่งที่เรียกใช้เป็นรูทบิต setuidเป็นคุณสมบัติที่เหมาะสม

ด้วยการตั้งค่าบิตนี้โปรแกรมจะทำงานโดยได้รับอนุญาตจากเจ้าของ ดังนั้นคุณสามารถใช้โปรแกรมเปลี่ยนเจ้าของเป็น root ตั้งค่าเป็นบิต setuid จากนั้นโปรแกรมจะทำงานเป็น root โดยไม่มีการแทรกแซงพิเศษ

บางโปรแกรมในอูบุนตูถูกตั้งค่าตามค่าเริ่มต้น - ตัวอย่างเช่น ping

> ls -l `which ping`
-rwsr-xr-x 1 root root 35712 2011-05-03 11:43 /bin/ping

โปรแกรมนี้จำเป็นต้องเรียกใช้ในฐานะรูทเพราะมีเพียงรูทเท่านั้นที่สามารถเปิดพอร์ตที่ต่ำกว่า 1024 เพื่อรับฟังซึ่งจำเป็นต้องฟังเพื่อรับแพ็กเก็ตที่ส่งคืน

ตามที่ระบุไว้การอนุญาตให้รูทโปรแกรมโดยค่าเริ่มต้นเป็นสิ่งที่อันตรายและโดยทั่วไปจะสงวนไว้สำหรับโปรแกรมที่ง่ายและผ่านการตรวจสอบแล้ว - โปรแกรมใด ๆ ที่สามารถใช้ประโยชน์เนื่องจากผลลัพธ์ของอินพุตภายนอกจะเสี่ยงต่อการเปิดเผยระบบทั้งหมดของคุณ เพียงแค่พื้นที่เหล่านั้นบัญชีผู้ใช้ของคุณมีการเข้าถึง


ไม่เกี่ยวข้อง:: ถอนหายใจ: การรักษาความปลอดภัยของ Unix: ต้องให้ทั้งระบบเพื่อเปิดพอร์ตการรับฟัง มันทำงานอย่างไร ไม่มีใครทำงานเช่น apache ในฐานะที่เป็น root ...
Billy ONeal

1
ฉันเชื่อว่า Apache จัดการกับมันโดยการวางไข่กระบวนการเด็กด้วย UID ที่มีสิทธิพิเศษน้อยกว่าและเริ่มต้นเพียงหนึ่งกระบวนการหลักที่เปิดพอร์ต 80 เป็นรูท กระบวนการลูกจัดการคำขอของผู้ใช้ทั้งหมด ฉันคิดว่ารูปแบบทั่วไปอีกอย่างหนึ่งคือกระบวนการจะเริ่มต้น setuid root แล้วใช้ setuid เพื่อเปลี่ยนเป็นผู้ใช้ที่ จำกัด ทันทีที่ได้รับทรัพยากรที่จำเป็นต้องใช้รูท unixwiz.net/techtips/chroot-practices.html
Adrian

1

โปรดอย่าทำอย่างนั้น คุณไม่เพียง แต่ทำร้ายตัวเองเท่านั้น แต่ยังทำร้ายคนอื่นด้วย มีซอมบี้สแปมบอทและโฮสต์ DDoS มากพอสมควร

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