Existuje důvod, proč bych na svou cestu v Debianu nepřidal / usr / local / sbin, / usr / sbin, / sbin?

Porovnejte Debian (vlevo) a Ubuntu (vpravo):

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

Pak jako superuser:

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

Dále:

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

Zdá se mi, že jediným důvodem, proč nelze spustit ifconfig bez supervelmocí v Debianu je to, že mi není v cestě. Když používám /sbin/ifconfig, funguje to.

Existuje nějaký důvod, proč bych ne přidat /usr/local/sbin:/usr/sbin:/sbin na moji cestu v Debianu? Toto je osobní počítač, jsem jediný člověk.


Použité verze (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 

Komentáře

  • Skvělá otázka – hlasováno 🙂 Mimochodem, zde ' nějaká historie o rozhodnutí Debianu ' nerozhodnout ut /usr/local/sbin:/usr/sbin:/sbin ve výchozí PATH pro běžné uživatele. Přístup Ubuntu ' se zdá být uživatelsky přívětivější pro všechny kromě těch nejnáročnějších uživatelů.

Odpověď

V zásadách Debianu je napsáno, že Debian dodržuje hierarchii souborů Standardní verze 2.3. Poznámka č. 19 standardu říká:

Rozhodování o tom, do čeho jde " sbin " adresáře jsou jednoduché: pokud jej běžný uživatel (nikoli správce systému) kdykoli spustí přímo, musí být umístěn v jednom adresářů " bin ". Obyčejní uživatelé by neměli na svoji cestu umisťovat žádný z adresářů sbin.

Například soubory jako chfn, které uživatelé používají jen občas, musí být stále umístěny v / usr / bin. ping, i když je to absolutně nezbytné pro root (obnovení a diagnostika v síti) je často používáno uživateli a musí z toho důvodu žít v / bin.

Doporučujeme uživatelům číst a spouštět oprávnění ke všem v / sbin, snad kromě určitých programů setuid a setgid. Rozdělení mezi / bin a / sbin nebylo vytvořeno z bezpečnostních důvodů nebo proto, aby uživatelé nemohli vidět operační systém, ale aby poskytlo dobrý oddíl mezi binárními soubory, které každý používá, a těmi, které se primárně používají pro administrativní úlohy. Vytváření / sbin omezení pro uživatele nemá žádnou inherentní bezpečnostní výhodu.


Krátká odpověď:

Existuje nějaký důvod, proč bych neměl přidávat /usr/local/sbin:/usr/sbin:/sbin na mou cestu v Debianu?

Jak uvádí poznámka, není důvod, proč byste to neměli dělat. Protože jste jediný, kdo používá systém, a potřebujete binární soubory v adresářích sbin, můžete je přidat do svých $PATH . V tomto okamžiku vás provedu vynikající odpovědí , jak to udělat správně.

Odpovědět

Jediným důvodem, proč je nepřidávat, je to, že umožňuje provádění příkazů na kartách pomaleji (protože se prohledává více adresářů) a méně efektivně (protože je větší pravděpodobnost, že z příkazů budou falešné shody) nedává smysl používat jiný uživatel než root).

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *