C'è un motivo per cui non aggiungerei / usr / local / sbin, / usr / sbin, / sbin al mio percorso su Debian?


25

Confronta Debian (a sinistra) e Ubuntu (a destra):

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

Quindi come superutente:

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

Inoltre:

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

Mi sembra che l'unica ragione per cui non posso correre ifconfigsenza i superpoteri su Debian sia che non è sulla mia strada. Quando lo uso /sbin/ifconfigfunziona.

C'è qualche motivo per cui non dovrei aggiungere /usr/local/sbin:/usr/sbin:/sbinal mio percorso su Debian? Questo è un personal computer, sono l'unico utente umano.


Versioni utilizzate ( 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

Ottima domanda - aggiornata :) Per inciso, ecco un po 'di storia sulla decisione di Debian di non inserire /usr/local/sbin:/usr/sbin:/sbinil PERCORSO predefinito per gli utenti ordinari. L'approccio di Ubuntu sembra più user-friendly per tutti tranne gli utenti più esperti.
sampablokuper,

Risposte:


27

Nella Debian Policy è scritto che Debian segue la File Hierarchy Standard versione 2.3. Nota n. 19 sullo standard dice:

Decidere quali cose vanno nelle directory "sbin" è semplice: se un normale utente (non un amministratore di sistema) lo eseguirà mai direttamente, deve essere inserito in una delle directory "bin". Gli utenti ordinari non dovrebbero inserire alcuna directory sbin nel loro percorso.

Ad esempio, i file come chfn che gli utenti usano solo occasionalmente devono ancora essere inseriti in / usr / bin. il ping, sebbene sia assolutamente necessario per il root (ripristino e diagnosi della rete) viene spesso utilizzato dagli utenti e per tale motivo deve risiedere in / bin.

Raccomandiamo agli utenti di leggere ed eseguire i permessi per tutto in / sbin tranne, forse, alcuni programmi setuid e setgid. La divisione tra / bin e / sbin non è stata creata per motivi di sicurezza o per impedire agli utenti di vedere il sistema operativo, ma per fornire una buona partizione tra i binari che tutti usano e quelli usati principalmente per le attività di amministrazione. Non vi è alcun vantaggio intrinseco in termini di sicurezza nel rendere off-limits / sbin per gli utenti .


Risposta breve:

C'è qualche motivo per cui non dovrei aggiungere /usr/local/sbin:/usr/sbin:/sbinal mio percorso su Debian?

Come afferma la nota, non c'è motivo per cui non dovresti farlo. Dato che sei l'unico ad usare il sistema e hai bisogno dei binari nelle sbindirectory, sentiti libero di aggiungerli al tuo $PATH. A questo punto lascia che ti guidi a una risposta eccellente su come farlo correttamente.


4

L'unico motivo per non aggiungerli è che rallenta il completamento della scheda dei comandi (poiché vengono ricercate più directory) e meno efficace (poiché è più probabile che vi siano corrispondenze spurie da comandi che non hanno senso usare non-root ).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.