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