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