Hasonlítsa össze a Debian-t (balra) és az Ubuntu-t (jobbra):
$ ifconfig $ ifconfig bash: ifconfig: command not found eth0 Link encap ... $ which ifconfig $ which ifconfig $ /sbin/ifconfig
Majd superuser:
# ifconfig # ifconfig eth0 Link encap ... eth0 Link encap ... # which ifconfig # which ifconfig /sbin/ifconfig /sbin/ifconfig
Továbbá:
# ls -l /sbin/ifconfig # ls -l /sbin/ifconfig -rwxr-xr-x 1 root root 68360 ... -rwxr-xr-x 1 root root 68040 ...
Számomra az egyetlen ok, amiért nem futtathat ifconfig
szuperhatalmak nélkül a Debianon, mert nem az én útvonalamon van. Ha a /sbin/ifconfig
-t használom, akkor működik. >
Van valami oka annak, hogy nem hozzá kell adnom /usr/local/sbin:/usr/sbin:/sbin
a Debian útvonalához? Ez egy személyi számítógép, én vagyok az egyetlen emberi felhasználó.
Használt verziók (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
Megjegyzések
- Nagy kérdés – szavazatban 🙂 Egyébként itt ' néhány előzmény a Debianról ' arról a döntésről, hogy nem p ut
/usr/local/sbin:/usr/sbin:/sbin
az alapértelmezett PATH-ban a hétköznapi felhasználók számára. Az Ubuntu ' megközelítés felhasználóbarátabbnak tűnik a felhasználók számára, kivéve a leginkább gyakorlott felhasználókat.
Válasz
A Debian házirendben azt írják, hogy a Debian a fájlhierarchiát követi Normál verzió 2.3. A standard 19. megjegyzés a következőket mondja:
Annak eldöntése, hogy mi megy a " sbin " könyvtárak egyszerűek: ha egy normál (nem rendszergazda) felhasználó valaha közvetlenül futtatja, akkor azt egybe kell helyezni a " bin " könyvtárak közül. A hétköznapi felhasználóknak nem kell az sbin könyvtárak egyikét sem az útjukba helyezniük.
Például az olyan fájlokat, mint például a chfn, amelyet a felhasználók csak alkalmanként használnak, továbbra is a / usr / bin könyvtárba kell helyezni. bár a root számára feltétlenül szükséges (a hálózat helyreállítása és diagnózisa) gyakran használják a felhasználók, ezért a / bin könyvtárban kell élniük.
Javasoljuk, hogy a felhasználók olvassanak el és hajtsanak végre minden engedélyt a / sbin, kivéve talán bizonyos setuid és setgid programokat. A / bin és / sbin közötti felosztást nem biztonsági okokból hozták létre, vagy azért, hogy megakadályozzák a felhasználókat az operációs rendszer megtekintésében, hanem azért, hogy jó partíciót biztosítson a mindenki által használt és elsősorban az adminisztrációs feladatokhoz használt bináris fájlok között. Nincs benne rejlő biztonsági előny abban, hogy az / sbin-korlátozásokat kikapcsolják a felhasználók számára .
Rövid válasz:
Van valami oka annak, hogy ne adjak hozzá
/usr/local/sbin:/usr/sbin:/sbin
a Debian útvonalához?
Mint a jegyzet állítja, nincs oka annak, hogy ne tegye ezt. Mivel csak te használod a rendszert, és szükséged van a bináris fájlokra a sbin
könyvtárakban, add hozzá bátran a $PATH
. Ezen a ponton hadd vezesselek egy kiváló válaszra , hogyan kell ezt helyesen csinálni.
Válasz
Az egyetlen oka annak, hogy ne vegye fel őket, hogy lassabbá teszi a parancsok tabulátoros kitöltését (mivel több könyvtárat keresnek) és kevésbé hatékonyat (mivel nagyobb valószínűséggel fordulnak elő hamis egyezések azoktól a nincs értelme a nem root használatának).