Is er een reden waarom ik / usr / local / sbin, / usr / sbin, / sbin niet aan mijn pad op Debian zou toevoegen?

Vergelijk Debian (links) en Ubuntu (rechts):

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

Dan als superuser:

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

Verder:

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

Het lijkt mij de enige reden waarom ik kan ifconfig niet draaien zonder superkrachten op Debian is dat het “niet op mijn pad staat. Wanneer ik /sbin/ifconfig gebruik, werkt het wel.

Is er een reden waarom ik niet zou toevoegen /usr/local/sbin:/usr/sbin:/sbin naar mijn pad op Debian? Dit is een personal computer, ik ben de enige menselijke gebruiker.


Gebruikte versies (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 

Reacties

  • Geweldige vraag – upvoted 🙂 Overigens hier ' s wat geschiedenis over Debian ' s beslissing om niet te p ut /usr/local/sbin:/usr/sbin:/sbin in het standaard PATH voor gewone gebruikers. Ubuntu ' s benadering lijkt gebruiksvriendelijker voor iedereen behalve de meest ervaren gebruikers.

Antwoord

In het Debian-beleid staat geschreven dat Debian de bestandshiërarchie volgt Standaard versie 2.3. Opmerking # 19 over de standaard zegt:

Beslissen wat er in " sbin " directories is eenvoudig: als een normale (geen systeembeheerder) gebruiker het ooit direct zal gebruiken, dan moet het in een van de " bin " mappen. Gewone gebruikers zouden geen van de sbin-mappen in hun pad moeten hoeven plaatsen.

Bijvoorbeeld, bestanden zoals chfn die gebruikers slechts af en toe gebruiken, moeten nog steeds in / usr / bin worden geplaatst. ping, hoewel het absoluut noodzakelijk is voor root (netwerkherstel en diagnose) wordt vaak gebruikt door gebruikers en moet om die reden in / bin leven.

We raden gebruikers aan om toestemming te lezen en uit te voeren voor alles in / sbin behalve misschien bepaalde setuid- en setgid-programmas. De scheiding tussen / bin en / sbin is niet gemaakt om veiligheidsredenen of om te voorkomen dat gebruikers het besturingssysteem zien, maar om een goede partitie te bieden tussen binaire bestanden die iedereen gebruikt en degene die voornamelijk worden gebruikt voor beheertaken. Er is geen inherent beveiligingsvoordeel bij het verbieden van / sbin voor gebruikers .


Kort antwoord:

Is er een reden waarom ik naar mijn pad op Debian?

Zoals de opmerking aangeeft, is er geen reden waarom u dat niet zou moeten doen. Aangezien u “de enige bent die het systeem gebruikt en u de binaire bestanden in de sbin -mappen nodig hebt, kunt u deze toevoegen aan uw $PATH . Op dit punt wil ik u naar een uitstekend antwoord leiden hoe u dat correct doet.

Antwoord

De enige reden om ze niet toe te voegen, is dat het het aanvullen van tabbladen van commandos langzamer maakt (omdat er meer mappen worden doorzocht) en minder effectief (omdat er meer kans is dat er onechte overeenkomsten zijn van commandos die heeft geen zin om niet-root te gebruiken).

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *