Czy jest jakiś powód, dla którego nie chciałbym dodać / usr / local / sbin, / usr / sbin, / sbin do mojej ścieżki w Debianie?

Porównaj Debiana (po lewej) i Ubuntu (po prawej):

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

Następnie jako superuser:

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

Ponadto:

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

Wydaje mi się, że jedyny powód, dla którego nie można uruchomić ifconfig bez supermocy w Debianie, ponieważ nie ma go na mojej ścieżce. Kiedy używam /sbin/ifconfig, to działa.

Czy jest jakiś powód, dla którego powinienem nie dodać /usr/local/sbin:/usr/sbin:/sbin do mojej ścieżki w Debianie? To jest komputer osobisty, jestem jedynym użytkownikiem.


Używane wersje (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 

Komentarze

  • Świetne pytanie – głosowano za 🙂 Nawiasem mówiąc, tutaj ' to trochę historii o Debianie ' decyzji, by nie p ut /usr/local/sbin:/usr/sbin:/sbin w domyślnej PATH dla zwykłych użytkowników. Podejście Ubuntu ' wydaje się bardziej przyjazne dla wszystkich oprócz najbardziej doświadczonych użytkowników.

Odpowiedź

W Polityce Debiana jest napisane, że Debian jest zgodny z Hierarchią plików Standard wersja 2.3. Uwaga nr 19 na temat standardu mówi:

Decydowanie o tym, co będzie składać się na " sbin " katalogi są proste: jeśli zwykły użytkownik (nie administrator systemu) kiedykolwiek uruchomi go bezpośrednio, należy go umieścić w jednym z katalogów " bin ". Zwykli użytkownicy nie powinni musieć umieszczać żadnego z katalogów sbin w swojej ścieżce.

Na przykład pliki takie jak chfn, których użytkownicy używają sporadycznie, muszą nadal znajdować się w / usr / bin. ping, chociaż jest absolutnie niezbędny dla roota (przywracanie i diagnostyka sieci), jest często używany przez użytkowników i z tego powodu musi znajdować się w / bin.

Zalecamy, aby użytkownicy mieli uprawnienia do odczytu i wykonywania wszystkiego w / sbin z wyjątkiem być może niektórych programów setuid i setgid. Podział między / bin i / sbin nie został utworzony ze względów bezpieczeństwa lub aby uniemożliwić użytkownikom przeglądanie systemu operacyjnego, ale aby zapewnić dobrą partycję między plikami binarnymi używanymi przez wszystkich i tymi, które są używane głównie do zadań administracyjnych. Nie ma nieodłącznej korzyści w zakresie bezpieczeństwa polegającej na blokowaniu dostępu do / sbin dla użytkowników .


Krótka odpowiedź:

Czy jest jakiś powód, dla którego nie powinienem dodawać /usr/local/sbin:/usr/sbin:/sbin do mojej ścieżki w Debianie?

Jak stwierdza uwaga, nie ma powodu, dla którego nie miałbyś tego robić. Ponieważ „jesteś jedyną osobą korzystającą z systemu i potrzebujesz plików binarnych w katalogach sbin, możesz je dodać do swojego $PATH . W tym miejscu poprowadzę Cię do doskonałej odpowiedzi , jak to zrobić poprawnie.

Odpowiedź

Jedynym powodem, dla którego ich nie należy dodawać, jest to, że powoduje to wolniejsze uzupełnianie poleceń za pomocą tabulatorów (ponieważ przeszukiwanych jest więcej katalogów) i mniej efektywne (ponieważ istnieje większe prawdopodobieństwo, że polecenia, które nie ma sensu, aby nie był używany root).

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *