ทำไมคุณไม่ควรเข้าสู่ระบบ Linux เป็นรูท
บน Linux ผู้ใช้รูทเทียบเท่ากับผู้ใช้ผู้ดูแลระบบบน Windows อย่างไรก็ตามในขณะที่ Windows มีวัฒนธรรมการใช้งานโดยเฉลี่ยที่ผู้ใช้เข้าสู่ระบบในฐานะผู้ดูแลระบบคุณไม่ควรเข้าสู่ระบบในฐานะ root บน Linux.
Microsoft พยายามปรับปรุงแนวทางปฏิบัติด้านความปลอดภัยของ Windows ด้วย UAC - คุณไม่ควรเข้าสู่ระบบในฐานะ root บน Linux ด้วยเหตุผลเดียวกับที่คุณไม่ควรปิดใช้งาน UAC บน Windows.
ทำไม Ubuntu ใช้ Sudo
การทำให้ผู้ใช้ท้อแท้ไม่ให้ทำงานในฐานะรูทเป็นหนึ่งในเหตุผลที่อูบุนตูใช้ sudo แทนที่จะเป็น su ตามค่าเริ่มต้นรหัสผ่านรูทจะถูกล็อคไว้บน Ubuntu ดังนั้นผู้ใช้โดยเฉลี่ยจึงไม่สามารถเข้าสู่ระบบในฐานะรูทได้โดยไม่ต้องเปิดใช้งานบัญชีรูทอีกครั้ง.
ใน Linux ดิสทริบิวชันอื่น ๆ เป็นไปได้ว่าในอดีตจะสามารถล็อกอินด้วยรูทจากหน้าจอเข้าสู่ระบบแบบกราฟิกและรับรูทเดสก์ท็อปแม้ว่าแอปพลิเคชั่นจำนวนมากอาจบ่น ผู้ใช้ที่มาจาก Windows บางครั้งตัดสินใจที่จะเข้าสู่ระบบในฐานะ root เช่นเดียวกับที่พวกเขาใช้บัญชีผู้ดูแลระบบใน Windows XP.
ด้วย sudo คุณเรียกใช้คำสั่งเฉพาะ (นำหน้าด้วย sudo) ที่ได้รับสิทธิ์รูต ด้วย su คุณจะใช้คำสั่ง su เพื่อรับรูทเชลล์โดยที่คุณจะรันคำสั่งที่คุณต้องการใช้ก่อน (หวังว่า) ออกจากรูทเชลล์ Sudo ช่วยบังคับใช้แนวปฏิบัติที่ดีที่สุดรันเฉพาะคำสั่งที่จำเป็นต้องรันในฐานะรูท (เช่นคำสั่งการติดตั้งซอฟต์แวร์) โดยไม่ทิ้งคุณไว้ที่รูทเชลล์ซึ่งคุณอาจยังอยู่ในระบบหรือรันแอพพลิเคชั่นอื่น ๆ.
การจำกัดความเสียหาย
เมื่อคุณเข้าสู่ระบบในฐานะบัญชีผู้ใช้ของคุณเองโปรแกรมที่คุณเรียกใช้จะถูก จำกัด ไม่ให้เขียนลงในระบบที่เหลือ - พวกเขาสามารถเขียนลงในโฮมโฟลเดอร์ของคุณได้เท่านั้น คุณไม่สามารถแก้ไขไฟล์ระบบโดยไม่ได้รับอนุญาตการรูท สิ่งนี้จะช่วยให้คอมพิวเตอร์ของคุณปลอดภัย ตัวอย่างเช่นหากเบราว์เซอร์ Firefox มีช่องโหว่ด้านความปลอดภัยและคุณเรียกใช้เป็นรูทหน้าเว็บที่เป็นอันตรายจะสามารถเขียนไปยังไฟล์ทั้งหมดในระบบของคุณอ่านไฟล์ในโฟลเดอร์โฮมของบัญชีผู้ใช้รายอื่นและแทนที่คำสั่งระบบ คน ในทางตรงกันข้ามหากคุณลงชื่อเข้าใช้ด้วยบัญชีผู้ใช้ที่ จำกัด หน้าเว็บที่เป็นอันตรายจะไม่สามารถทำสิ่งใด ๆ ได้ - จะสามารถสร้างความเสียหายในโฟลเดอร์หลักของคุณได้ ในขณะที่สิ่งนี้ยังอาจทำให้เกิดปัญหาได้ดีกว่าการทำให้ระบบทั้งหมดของคุณถูกบุกรุก.
นอกจากนี้ยังช่วยปกป้องคุณจากแอปพลิเคชันที่เป็นอันตรายหรือเพียงแค่บั๊กกี้ ตัวอย่างเช่นหากคุณเรียกใช้แอปพลิเคชันที่ตัดสินใจที่จะลบไฟล์ทั้งหมดที่มีการเข้าถึง (อาจมีข้อผิดพลาดที่น่ารังเกียจ) แอปพลิเคชันจะล้างโฟลเดอร์หลักของเรา นี่เป็นสิ่งที่ไม่ดี แต่ถ้าคุณมีการสำรองข้อมูล (ซึ่งคุณควร!) มันค่อนข้างง่ายในการกู้คืนไฟล์ในโฟลเดอร์บ้านของคุณ อย่างไรก็ตามหากแอปพลิเคชันมีการเข้าถึงรูทก็สามารถลบไฟล์ทุกไฟล์ในฮาร์ดไดรฟ์ของคุณได้.
สิทธิ์ที่ละเอียด
ในขณะที่ลีนุกซ์รุ่นเก่ารันโปรแกรมการดูแลระบบทั้งหมดเป็นรูท, เดสก์ท็อป Linux รุ่นใหม่ใช้ PolicyKit สำหรับการควบคุมสิทธิ์ที่แอพพลิเคชั่นได้รับยิ่งขึ้น.
ตัวอย่างเช่นแอปพลิเคชันการจัดการซอฟต์แวร์สามารถได้รับอนุญาตให้ติดตั้งซอฟต์แวร์ในระบบของคุณผ่าน PolicyKit เท่านั้น อินเทอร์เฟซของโปรแกรมจะทำงานด้วยสิทธิ์ของบัญชีผู้ใช้ที่ จำกัด เฉพาะส่วนของโปรแกรมที่ติดตั้งซอฟต์แวร์จะได้รับสิทธิ์ในระดับสูงและส่วนหนึ่งของโปรแกรมนั้นจะสามารถติดตั้งซอฟต์แวร์ได้เท่านั้น.
โปรแกรมจะไม่สามารถเข้าถึงรูททั้งหมดของระบบของคุณซึ่งสามารถปกป้องคุณได้หากพบช่องโหว่ความปลอดภัยในแอปพลิเคชัน PolicyKit ยังอนุญาตให้บัญชีผู้ใช้ที่ จำกัด สามารถเปลี่ยนแปลงการดูแลระบบบางอย่างได้โดยไม่ต้องเข้าถึงรูททั้งหมดทำให้ง่ายต่อการเรียกใช้ในฐานะบัญชีผู้ใช้ที่ จำกัด และไม่ยุ่งยาก.
ลีนุกซ์จะช่วยให้คุณล็อกอินเข้าสู่เดสก์ท็อปกราฟิกในฐานะที่เป็นรูท - เช่นเดียวกับที่อนุญาตให้คุณลบไฟล์ทุกไฟล์ในฮาร์ดไดรฟ์ของคุณในขณะที่ระบบของคุณกำลังทำงานหรือเขียน เป็นความคิดที่ดี แม้ว่าคุณจะรู้ว่าคุณกำลังทำอะไร แต่ระบบไม่ได้ถูกออกแบบมาให้ทำงานในฐานะรูท แต่คุณจะต้องผ่านสถาปัตยกรรมความปลอดภัยที่ทำให้ Linux ปลอดภัยมาก.