Finns det en anledning till att jag inte skulle lägga till / usr / local / sbin, / usr / sbin, / sbin till min väg på Debian?

Jämför Debian (vänster) och Ubuntu (höger):

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

Sedan som superanvändare:

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

Dessutom:

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

Det verkar för mig den enda anledningen till att jag kan inte köra ifconfig utan superkrafter på Debian är att det inte ligger i min väg. När jag använder /sbin/ifconfig fungerar det.

Finns det någon anledning att inte lägga till /usr/local/sbin:/usr/sbin:/sbin till min väg på Debian? Det här är en persondator, jag är den enda mänskliga användaren.


Använda versioner (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 

Kommentarer

  • Stor fråga – uppröstad 🙂 Förresten, här ' lite historik om Debian ' beslut att inte p ut /usr/local/sbin:/usr/sbin:/sbin i standard PATH för vanliga användare. Ubuntu ' s tillvägagångssätt verkar mer användarvänligt för alla utom de mest erfarna användarna.

Svar

I Debian Policy skrivs att Debian följer Filhierarki Standard version 2.3. Not # 19 på standarden säger:

Att bestämma vad saker går in i " sbin " kataloger är enkelt: om en vanlig (inte systemadministratör) användare någonsin kommer att köra den direkt måste den placeras i en av " bin " kataloger. Vanliga användare ska inte behöva placera någon av sbin-katalogerna i deras väg.

Till exempel måste filer som chfn som användare bara ibland använder fortfarande placeras i / usr / bin. ping, även om det är absolut nödvändigt för root (nätverksåterställning och diagnos) används ofta av användare och måste bo i / bin av den anledningen.

Vi rekommenderar att användare har läst och utför tillstånd för allt i / sbin utom kanske vissa setuid- och setgid-program. Fördelningen mellan / bin och / sbin skapades inte av säkerhetsskäl eller för att hindra användare från att se operativsystemet, utan för att ge en bra partition mellan binärer som alla använder och sådana som främst används för administrationsuppgifter. Det finns ingen inneboende säkerhetsfördel i att göra / sbin-off-limit för användare .


Kort svar:

Finns det någon anledning att inte lägga till /usr/local/sbin:/usr/sbin:/sbin till min väg på Debian?

Som anteckningen säger finns det ingen anledning till att du inte ska göra det. Eftersom du är den enda som använder systemet och du behöver binärfiler i sbin -katalogerna, är du välkommen att lägga till dem i dina $PATH Låt mig nu vägleda dig till ett utmärkt svar hur man gör det korrekt.

Svar

Den enda anledningen att inte lägga till dem är att det gör flikens slutförande av kommandon långsammare (eftersom fler kataloger söks) och mindre effektiva (eftersom det är mer sannolikt att det är falska matchningar från inte vara vettigt för icke-root att använda).

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *