เราต้องการให้ผู้ใช้บางคนสามารถทำได้เช่นsudo
และกลายเป็นรูต
นั่นคือปัญหาที่ sudo ออกแบบมาเพื่อแก้ปัญหาเพื่อให้ส่วนนั้นง่ายพอ
แต่ด้วยข้อ จำกัด ที่ผู้ใช้ไม่สามารถเปลี่ยนรหัสผ่านรูตได้
คุณสามารถดังที่SHWชี้ให้เห็นในความคิดเห็นกำหนดค่า sudo เพื่ออนุญาตเฉพาะการกระทำบางอย่างที่จะนำมาเป็นรูทโดยผู้ใช้บางราย นั่นคือคุณสามารถอนุญาตให้ user1 จะทำอย่างไรsudo services apache2 restart
ให้ user2 ที่จะทำsudo reboot
แต่ไม่มีอะไรอื่นขณะที่ช่วยให้ได้รับการว่าจ้างในฐานะผู้ดูแลระบบที่จะทำuser3
sudo -i
มีวิธีการตั้งค่า sudo แบบนั้นหรือคุณสามารถค้นหา (หรือถาม) ที่นี่ นั่นเป็นปัญหาที่แก้ไขได้
อย่างไรก็ตามผู้ใช้ที่ได้รับความสามารถในการsudo -i
หรือsudo
เข้าไปในเปลือก ( sudo bash
เช่น) สามารถทำอะไรก็ได้ นั่นเป็นเพราะเมื่อ sudo เปิดตัวกระสุน sudo ก็ออกมาจากภาพ มันให้บริบทการรักษาความปลอดภัยของผู้ใช้ที่แตกต่างกัน (ส่วนใหญ่มักจะเป็น root) แต่ไม่มีการพูดในสิ่งที่แอปพลิเคชันที่ดำเนินการทำ หากแอปพลิเคชันนั้นเปิดใช้งานpasswd root
จะไม่มีสิ่งใด sudo สามารถทำได้ โปรดทราบว่าสามารถทำได้ผ่านแอปพลิเคชันอื่นเช่นกัน ตัวอย่างเช่นตัวแก้ไขขั้นสูงจำนวนมากมีเครื่องมืออำนวยความสะดวกในการเรียกใช้คำสั่งผ่านเชลล์ซึ่งเชลล์จะถูกเรียกใช้งานด้วย uid ที่มีประสิทธิภาพของกระบวนการแก้ไขนั้น (นั่นคือรูท)
นั่นคือการรับประกันว่าเรายังสามารถเข้าสู่เซิร์ฟเวอร์นั้นและกลายเป็นรูทไม่ว่าผู้ใช้รายอื่นจะทำอะไร
ขออภัย; หากคุณหมายถึง "มั่นใจว่าเราจะสามารถเข้าสู่ระบบและใช้ระบบได้ไม่ว่าผู้ใช้ที่มีสิทธิ์เข้าถึงรูทจะทำอะไร" นั่นไม่สามารถทำได้ (สำหรับทุกเจตนาและวัตถุประสงค์) "sudo rm / etc / passwd" หรือ "sudo chmod -x / bin / bash" อย่างรวดเร็ว (หรือรูทเชลล์ใดก็ตามที่ใช้) และคุณจะถูกซ่อนอยู่มาก ความหมาย "สวยมาก" คุณจะต้องเรียกคืนจากการสำรองข้อมูลและหวังว่าพวกเขาจะไม่ทำอะไรที่เลวร้ายไปกว่าการใช้นิ้วมือ " คุณสามารถทำตามขั้นตอนบางอย่างเพื่อลดความเสี่ยงของอุบัติเหตุโดยไม่ตั้งใจซึ่งนำไปสู่ระบบที่ใช้ไม่ได้ แต่คุณไม่สามารถป้องกันความอาฆาตพยาบาทที่ทำให้เกิดปัญหาร้ายแรงมากจนถึงและรวมถึงจุดที่ต้องสร้างระบบใหม่จากศูนย์หรืออย่างน้อยที่สุด สำรองข้อมูลที่ดี
ด้วยการให้สิทธิ์การเข้าถึงรูทบนระบบแก่ผู้ใช้คุณเชื่อใจผู้ใช้นั้น (รวมถึงซอฟต์แวร์ใด ๆ ที่พวกเขาอาจเลือกที่จะดำเนินการแม้บางอย่างที่เป็นธรรมดาเช่นเดียวกับ ls) เพื่อไม่ให้มีเจตนาร้ายและไม่สับสนโดยไม่ตั้งใจ นั่นคือธรรมชาติของการเข้าถึงรูท
การเข้าถึงรูทที่จำกัดผ่านเช่น sudo นั้นดีกว่านิดหน่อย แต่คุณยังต้องระวังไม่ให้เวกเตอร์โจมตีใด ๆ และด้วยการเข้าถึงรูททำให้มีเวคเตอร์การโจมตีที่เป็นไปได้มากมายสำหรับการเพิ่มระดับการโจมตี
หากคุณไม่สามารถไว้ใจพวกเขาด้วยระดับการเข้าถึงที่เป็นรูทคุณจะต้องมีการกำหนดค่า sudo ที่เข้มงวดมากขึ้นหรือเพื่อไม่ให้สิทธิ์ผู้ใช้ในการเข้าถึงรูทคำถามด้วยวิธีการใดก็ตาม sudo หรืออย่างอื่น
sudo
เพื่อให้สิทธิ์สำหรับแอปพลิเคชันที่มีสิทธิ์ใช้งานรูทเฉพาะเท่านั้น ด้วยวิธีนี้ผู้ใช้จะไม่ได้รับอนุญาตให้เปลี่ยนรหัสผ่านรูท