Cè una ragione per cui non aggiungerei / usr / local / sbin, / usr / sbin, / sbin al mio percorso su Debian?

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

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *