Comparați Debian (stânga) și Ubuntu (dreapta):
$ ifconfig $ ifconfig bash: ifconfig: command not found eth0 Link encap ... $ which ifconfig $ which ifconfig $ /sbin/ifconfig
Apoi ca superutilizator:
# ifconfig # ifconfig eth0 Link encap ... eth0 Link encap ... # which ifconfig # which ifconfig /sbin/ifconfig /sbin/ifconfig
Mai mult:
# ls -l /sbin/ifconfig # ls -l /sbin/ifconfig -rwxr-xr-x 1 root root 68360 ... -rwxr-xr-x 1 root root 68040 ...
Mi se pare singurul motiv pentru care Nu pot rula ifconfig
fără superputeri pe Debian, este că nu este în calea mea. Când folosesc /sbin/ifconfig
funcționează.
Există vreun motiv pentru care să nu să adaug /usr/local/sbin:/usr/sbin:/sbin
către calea mea de pe Debian? Acesta este un computer personal, sunt singurul utilizator uman.
Versiuni utilizate (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
Comentarii
- Întrebare extraordinară – susținută 🙂 De altfel, aici ' e o istorie despre decizia Debian ' s de a nu p ut
/usr/local/sbin:/usr/sbin:/sbin
în PATH-ul implicit pentru utilizatorii obișnuiți. Abordarea Ubuntu ' pare mai ușor de utilizat pentru toți utilizatorii, cu excepția celor mai experimentați.
Răspuns
În Politica Debian este scris că Debian urmează Ierarhia fișierelor Standard versiunea 2.3. Nota # 19 privind standardul spune:
Decizia în ce lucruri intră " sbin " este simplu: dacă un utilizator normal (nu un administrator de sistem) îl va rula vreodată direct, atunci acesta trebuie plasat într-un singur din directoarele " bin ". Utilizatorii obișnuiți nu ar trebui să plaseze niciunul dintre directoarele sbin în calea lor.
De exemplu, fișiere precum chfn pe care utilizatorii le folosesc doar ocazional trebuie să fie plasate în / usr / bin. ping, deși este absolut necesar pentru root (recuperarea și diagnosticarea rețelei) este adesea folosit de utilizatori și trebuie să locuiască în / bin din acest motiv.
Vă recomandăm ca utilizatorii să citească și să execute permisiunea pentru tot ce se află în / sbin cu excepția, probabil, a anumitor programe setuid și setgid. Împărțirea între / bin și / sbin nu a fost creată din motive de securitate sau pentru a împiedica utilizatorii să vadă sistemul de operare, ci pentru a oferi o bună partiție între binare pe care le folosește toată lumea și cele care sunt utilizate în principal pentru sarcini de administrare. Nu există niciun avantaj inerent de securitate în a face / sbin restricții pentru utilizatori .
Răspuns scurt:
Există vreun motiv pentru care nu ar trebui să adaug
/usr/local/sbin:/usr/sbin:/sbin
către calea mea pe Debian?
După cum se arată în notă, nu există niciun motiv pentru care nu ar trebui să faceți asta. Deoarece sunteți singurul care folosește sistemul și aveți nevoie de binare în directoarele sbin
, nu ezitați să le adăugați la $PATH
. În acest moment, permiteți-mi să vă ghidez către un răspuns excelent cum să faceți acest lucru corect.
Răspuns
Singurul motiv pentru care nu le adăugați este că face ca finalizarea comenzilor de filă a comenzilor să fie mai lentă (deoarece sunt căutate mai multe directoare) și mai puțin eficiente (deoarece există mai multe șanse să fie potriviri false din comenzile care nu are sens pentru utilizarea non-root).