Există vreun motiv pentru care nu aș adăuga / usr / local / sbin, / usr / sbin, / sbin la calea mea de pe Debian?

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).

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *