มีเหตุผลที่ฉันจะไม่เพิ่ม / usr / local / sbin, / usr / sbin, / sbin ไปยังเส้นทางของฉันบน Debian หรือไม่?


25

เปรียบเทียบ Debian (ซ้าย) และ Ubuntu (ขวา):

$ ifconfig                                 $ ifconfig
bash: ifconfig: command not found          eth0     Link encap ...
$ which ifconfig                           $ which ifconfig
$                                          /sbin/ifconfig

จากนั้นเป็น superuser:

# ifconfig                                 # ifconfig
eth0      Link encap ...                   eth0     Link encap ...
# which ifconfig                           # which ifconfig
/sbin/ifconfig                             /sbin/ifconfig

นอกจากนี้:

# ls -l /sbin/ifconfig                     # ls -l /sbin/ifconfig
-rwxr-xr-x 1 root root 68360 ...           -rwxr-xr-x 1 root root 68040 ...

ดูเหมือนว่าเหตุผลเดียวที่ฉันไม่สามารถทำงานได้ifconfigหากไม่มีพลังอำนาจในเดเบียนคือเหตุผลที่ฉันไม่ได้อยู่ในเส้นทางของฉัน เมื่อฉันใช้/sbin/ifconfigมันทำงาน

มีเหตุผลใดที่ฉันไม่ควรเพิ่ม/usr/local/sbin:/usr/sbin:/sbinเส้นทางของฉันบน Debian? นี่คือคอมพิวเตอร์ส่วนบุคคลฉันเป็นผู้ใช้คนเดียว


รุ่นที่ใช้ ( uname -a):
Ubuntu:

Linux ubuntu 3.13.0-51-generic #84-Ubuntu SMP Wed Apr 15 12:08:34 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Debian:

Linux debian 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u3 (2015-08-04) x86_64 GNU/Linux

Great question - upvoted :) อนึ่งนี่เป็นประวัติเกี่ยวกับการตัดสินใจของ Debian ที่จะไม่ใส่/usr/local/sbin:/usr/sbin:/sbinPATH เริ่มต้นสำหรับผู้ใช้ทั่วไป ดูเหมือนว่าวิธีการของ Ubuntu นั้นเป็นมิตรต่อผู้ใช้มากกว่า แต่สำหรับผู้ใช้ที่มีประสบการณ์มากที่สุด
sampablokuper

คำตอบ:


27

ในนโยบาย Debianเขียนว่า Debian ปฏิบัติตามFile Hierarchy Standardเวอร์ชัน 2.3 หมายเหตุ # 19เกี่ยวกับมาตรฐานพูดว่า:

การตัดสินใจว่าสิ่งใดที่อยู่ในไดเรกทอรี "sbin" นั้นง่าย: หากผู้ใช้ปกติ (ไม่ใช่ผู้ดูแลระบบ) จะเรียกใช้โดยตรงจากนั้นจะต้องวางในไดเรกทอรี "bin" ผู้ใช้ทั่วไปไม่ควรวางไดเรกทอรี sbin ใด ๆ ในเส้นทางของพวกเขา

ตัวอย่างเช่นไฟล์เช่น chfn ที่ผู้ใช้ใช้เป็นครั้งคราวเท่านั้นจะต้องยังคงอยู่ใน / usr / bin ping แม้ว่าผู้ใช้จะมีความจำเป็นอย่างยิ่งสำหรับรูท (การกู้คืนและวินิจฉัยเครือข่าย) และผู้ใช้ต้องอาศัยอยู่ใน / bin ด้วยเหตุผลดังกล่าว

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


คำตอบสั้น ๆ :

มีเหตุผลใดที่ฉันไม่ควรเพิ่ม/usr/local/sbin:/usr/sbin:/sbinเส้นทางของฉันบน Debian?

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


4

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

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