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 superuser:
# 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 lunico motivo per cui non posso eseguire ifconfig
senza superpoteri su Debian è che “non è nel mio percorso. Quando uso /sbin/ifconfig
funziona.
Cè qualche motivo per cui dovrei non aggiungere /usr/local/sbin:/usr/sbin:/sbin
al mio percorso su Debian? Questo è un personal computer, io sono lunico 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
Commenti
- Ottima domanda – voto positivo 🙂 Per inciso, qui ' un po di storia sulla decisione di Debian ' di non p ut
/usr/local/sbin:/usr/sbin:/sbin
nel PATH predefinito per gli utenti ordinari. Lapproccio di Ubuntu ' sembra più intuitivo per tutti tranne che per gli utenti più esperti.
Risposta
Nella Politica Debian è scritto che Debian segue la Gerarchia dei file Versione standard 2.3. La nota n. 19 sullo standard dice:
Decidere in che cosa si tratta " sbin " directory è semplice: se un utente normale (non un amministratore di sistema) lo eseguirà direttamente, allora deve essere inserito in uno delle directory " bin ". Gli utenti ordinari non dovrebbero dover inserire nessuna delle directory sbin nel loro percorso.
Ad esempio, file come chfn che gli utenti usano solo occasionalmente devono ancora essere inseriti in / usr / bin. ping, sebbene sia assolutamente necessario per root (ripristino della rete e diagnosi) viene spesso utilizzato dagli utenti e per questo motivo deve risiedere in / bin.
Si consiglia 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 che sono usati principalmente per le attività di amministrazione. Non vi è alcun vantaggio di sicurezza intrinseco nel rendere / sbin off-limits per gli utenti .
Risposta breve:
Cè qualche motivo per cui non dovrei aggiungere
/usr/local/sbin:/usr/sbin:/sbin
al mio percorso su Debian?
Come afferma la nota, non cè motivo per cui non dovresti farlo. Dato che sei lunico che utilizza il sistema e hai bisogno dei binari nelle directory sbin
, sentiti libero di aggiungerli al tuo $PATH
A questo punto lascia che ti guidi a una risposta eccellente su come farlo correttamente.
Risposta
Lunico motivo per non aggiungerli è che rende il completamento con tabulazione dei comandi più lento (poiché vengono cercate più directory) e meno efficace (poiché è più probabile che ci siano corrispondenze spurie da comandi che non ha senso per luso non root).