Er det en grunn til at jeg ikke vil legge til / usr / local / sbin, / usr / sbin, / sbin til min vei på Debian?

Sammenlign Debian (venstre) og Ubuntu (høyre):

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

Så som superbruker:

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

Videre:

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

Det virker for meg den eneste grunnen til at jeg kan ikke kjøre ifconfig uten superkrefter på Debian, er at det ikke er i min vei. Når jeg bruker /sbin/ifconfig fungerer det.

Er det noen grunn til at jeg ikke legger til /usr/local/sbin:/usr/sbin:/sbin til min vei på Debian? Dette er en personlig datamaskin, jeg er den eneste menneskelige brukeren.


Versjoner som brukes (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

  • Flott spørsmål – oppstemt 🙂 Forresten, her ' litt historie om Debian ' beslutning om ikke å p ut /usr/local/sbin:/usr/sbin:/sbin i standard PATH for vanlige brukere. Ubuntu ' s tilnærming virker mer brukervennlig for alle bortsett fra de mest erfarne brukerne.

Svar

I Debian Policy står det at Debian følger Filhierarki Standard versjon 2.3. Merknad # 19 på standarden sier:

Bestemme hva ting går inn i " sbin " kataloger er enkelt: Hvis en vanlig (ikke systemadministrator) bruker noen gang vil kjøre den direkte, må den plasseres i en av " bin " kataloger. Vanlige brukere skal ikke måtte plassere noen av sbin-katalogene i deres vei.

For eksempel må filer som chfn som brukere bare noen ganger bruker, fortsatt plasseres i / usr / bin. ping, selv om det er helt nødvendig for root (nettverksgjenoppretting og diagnose) ofte brukes av brukere og må bo i / bin av den grunn.

Vi anbefaler at brukerne har lest og utført tillatelse til alt i / sbin unntatt kanskje visse setuid- og setgid-programmer. Skillet mellom / bin og / sbin ble ikke opprettet av sikkerhetsmessige årsaker eller for å forhindre brukere i å se operativsystemet, men for å gi en god partisjon mellom binærfiler som alle bruker og de som primært brukes til administrasjonsoppgaver. Det er ingen iboende sikkerhetsfordel ved å gjøre / sbin off-limits for brukere .


Kort svar:

Er det noen grunn til at jeg ikke skal legge til /usr/local/sbin:/usr/sbin:/sbin til min vei på Debian?

Som det står i merknaden, er det ingen grunn til at du ikke skal gjøre det. Siden du er den eneste som bruker systemet og du trenger binærfiler i sbin katalogene, kan du gjerne legge dem til i $PATH La meg på dette punktet veilede deg til et utmerket svar hvordan du gjør det riktig.

Svar

Den eneste grunnen til ikke å legge til dem er at det gjør fullføring av fanene for kommandoer langsommere (siden det blir søkt i flere kataloger) og mindre effektive (siden det er mer sannsynlig at det er falske treff fra kommandoer ikke gi mening for ikke-rot å bruke).

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *