Чи є причина, щоб я не додав / 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

Тоді як суперпользователь:

# 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без наддержав на Debian, це те, що це не на моєму шляху. Коли я /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

Чудове запитання - підкреслено :) До речі, ось історія щодо рішення Debian не вводити /usr/local/sbin:/usr/sbin:/sbinPATH за замовчуванням для звичайних користувачів. Підхід Ubuntu здається більш зручним для всіх, крім самих досвідчених користувачів.
sampablokuper

Відповіді:


27

У політиці Debian написано, що Debian дотримується стандартної ієрархії файлів версії 2.3. Примітка №19 до стандарту говорить:

Вирішити, які речі входять у каталоги "sbin", просто: якщо звичайний (а не системний адміністратор) користувач коли-небудь запускатиме його безпосередньо, то його потрібно розмістити в одному з каталогів "бін". Звичайні користувачі не повинні розміщувати жоден із каталогів sbin на своєму шляху.

Наприклад, такі файли, як chfn, які користувачі використовують лише зрідка, повинні все-таки розміщуватися в / usr / bin. ping, хоча він абсолютно необхідний для root (відновлення мережі та діагностика) часто використовується користувачами і повинен жити в / bin з цієї причини.

Ми рекомендуємо користувачам читати та виконувати дозвіл на все, що є в / sbin, крім, можливо, певних встановлених та встановлених програм. Розділення між / bin та / sbin створено не з міркувань безпеки або для того, щоб користувачі не могли бачити операційну систему, а щоб забезпечити хороший розділ між бінарними файлами, якими користуються всі, та тими, які в основному використовуються для завдань адміністрування. Немає притаманної переваги безпеці в обмеженні / забороненні для користувачів обмежень .


Коротка відповідь:

Чи є якась причина, що я не повинен додавати /usr/local/sbin:/usr/sbin:/sbinсвій шлях на Debian?

Як зазначається в примітці, немає жодної причини, чому ви не повинні цього робити. Оскільки ви єдиний, хто використовує систему, і вам потрібні бінарні файли в sbinкаталогах, сміливо додайте їх до своїх $PATH. На цей момент дозвольте мені навести вам відмінну відповідь, як це зробити правильно.


4

Єдина причина не додавати їх полягає в тому, що це робить вкладку команд повільнішою (оскільки шукається більше каталогів) і менш ефективною (оскільки більше шансів на те, що в командах не має сенсу використовувати некористувальні корективи ).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.