ด้วยเหตุผลเดียวกันว่าทำไมแต่ละ daemon ควรมีสิทธิ์น้อยที่สุด Apache สามารถเรียกใช้เป็นรูต มันถูกออกแบบมาเพื่อทำงานอย่างใดอย่างหนึ่งและแน่นอนไม่มีอะไรเลวร้ายสามารถเกิดขึ้นได้?
แต่สมมติว่า Apache ไม่มีข้อผิดพลาด บักถูกค้นพบเป็นครั้งคราว บางครั้งมันอาจเป็นการใช้รหัสโดยอำเภอใจหรือที่คล้ายกัน ขณะนี้ด้วย apache ที่ทำงานในฐานะ root มันสามารถเข้าถึงอะไรก็ได้ - ตัวอย่างเช่นมันสามารถโหลด rootkit ลงในเคอร์เนลและซ่อนตัวเองได้
ในทางกลับกันการเขียนรูทคิทระดับผู้ใช้นั้นยากมาก มีการแทนที่โปรแกรมที่แตกต่างกัน (เช่นps
) ภายใน/home
ซึ่งสามารถเพิ่มความสงสัยเนื่องจากการใช้พื้นที่ดิสก์เพิ่มเติม มันอาจไม่ทราบว่าการกำหนดค่าที่แน่นอนและลืมที่จะรวมเช่นgnome-system-monitor
จึงเปิดเผยตัวเอง มันจะต้องมีฝาปิดbash
, tcsh
และเปลือกใด ๆ ที่เกิดขึ้นที่จะใช้ (ที่จะเริ่มต้นเอง) มันจะต้องทำงานกับการกำหนดค่าที่แตกต่างกันแทน 'เพียงแค่' แทนที่การเรียกกลับจำนวนมาก
พิจารณาว่าเมื่อไม่นานมานี้มีการใช้รหัสโดยอำเภอใจใน ... Adobe Reader
เหตุผลอื่นคือความผิดพลาดของผู้ใช้ เป็นการดีกว่าที่จะได้รับการเตือนก่อนที่จะลบดิสก์ทั้งหมดด้วยคำสั่งเดียว
เหตุผลที่สามคือกระสุนที่แตกต่างกัน รูทเชลล์ควรได้รับการติดตั้ง/
ในกรณีที่จำเป็นต้องทำการช่วยเหลือระบบ เชลล์ของผู้ใช้สามารถติดตั้งได้บน/usr
(ตัวอย่างเช่นผู้ใช้สามารถใช้ zsh)
เหตุผลก็คือโปรแกรมต่าง ๆ ไม่ทำงานเหมือนรูท พวกเขารู้ว่าพวกเขาไม่ควรทำดังนั้นคุณจะต้องแก้ไขระบบ
เหตุผลที่ห้าคือ/root
ไม่ควรอยู่ในพาร์ติชันแยกต่างหากในขณะที่/home
สามารถ (และควร) มีความ/home
ช่วยเหลือแยกต่างหากด้วยเหตุผลต่าง ๆ
ยัง : ทำไมไม่ใช้เป็นผู้ใช้ปกติ บ่อยครั้งที่คุณไม่จำเป็นต้องมีสิทธิ์รูทมากกว่า มันมีค่าใช้จ่ายน้อยมากสำหรับการรักษาความปลอดภัย
sudo
ผมขอแนะนำการแก้ไข/etc/sudoers
และการเพิ่มคำสั่งบางอย่างเป็น NOPASSWD (ไม่ทั้งหมดของพวกเขา) แล้วในของคุณ~/.bashrc
(หรือไฟล์นามแฝง) เพิ่มalias
ESsudo command
ไป นี่อาจยังไม่ใช่ความคิดที่ดี แต่จะจำกัดความเสียหายที่คุณสามารถทำได้หรือกระทำกับคุณ