Klíčové poznatky
- 01Tři číslice nastavují oprávnění pro vlastníka, skupinu a všechny ostatní v tomto pořadí.
- 02Každá číslice je součet čtení (4), zápisu (2) a spuštění (1) — takže 7 = všechny tři, 5 = čtení + spuštění.
- 03755 je standard pro složky a programy; 644 je standard pro běžné soubory; 777 je téměř vždy chyba.
Tři číslice, tři cílové skupiny
Na Linuxu a macOS má každý soubor a složka oprávnění pro tři oddělené skupiny lidí. Zleva doprava se tři číslice v režimu jako 755 vztahují na: vlastníka (uživatele, který vlastní soubor), skupinu (sadu uživatelů, kteří sdílejí přístup) a ostatní (doslova všechny ostatní na systému). Pořadí se nikdy nezmění — vlastník, skupina, ostatní.
Takže 755 říká: dej vlastníkovi oprávnění popsaná číslem 7, dej skupině oprávnění popsaná číslem 5 a dej všem ostatním oprávnění popsaná číslem 5. Abychom porozuměli celé věci, stačí vědět, co jedna číslice znamená. Pak čtete stejné pravidlo třikrát.
Jak je každá číslice vytvořena: 4, 2, 1
Každá číslice je součet až tří hodnot. Přístup čtení je v hodnotě 4, přístup zápisu je v hodnotě 2 a přístup spuštění je v hodnotě 1. Sečtěte oprávnění, která chcete, a získáte jednu číslici od 0 do 7. Protože 4, 2 a 1 jsou mocniny dvou, každá kombinace vytváří jedinečný součet — nikdy není nejasnost.
Projděte si číslici 7: 4 (čtení) + 2 (zápis) + 1 (spuštění) = 7, takže 7 uděluje vše. Číslice 5 je 4 (čtení) + 1 (spuštění) = 5, která uděluje čtení a spuštění, ale ne zápis. Číslice 6 je 4 + 2 = 6: čtení a zápis, ale ne spuštění. Číslice 4 je pouze čtení. Číslice 0 neuděluje nic.
Aplikováno na 755 to rozbaluje na: vlastník dostane 7 (čtení, zápis, spuštění — plná kontrola), zatímco skupina a ostatní každý dostanou 5 (čtení a spuštění, ale bez schopnosti změnit soubor). To je přesně to, co chcete pro program nebo složku, kterou by ostatní měli být schopni používat, ale ne upravovat.
Režimy oprávnění, které budete skutečně používat
Téměř všechna každodenní práce se svádí na hrstku režimů. Zde je, co každý z nich znamená a kdy ho použít.
- 01755 = rwxr-xr-x — vlastník může číst, psát a spouštět; všichni ostatní mohou číst a spouštět. Výchozí nastavení pro složky, skripty a spustitelné soubory.
- 02644 = rw-r--r-- — vlastník může číst a psát; všichni ostatní mohou pouze číst. Výchozí nastavení pro běžné soubory jako HTML, text a obrázky.
- 03700 = rwx------ — vlastník má plnou kontrolu; nikdo jiný se ani nemůže podívat. Použijte pro soukromé složky a osobní skripty.
- 04600 = rw------- — vlastník může číst a psát; všichni ostatní jsou uzamčeni. Ideální pro soukromé klíče a konfigurační soubory s tajnými údaji.
- 05775 = rwxrwxr-x — vlastník a skupina mohou psát; ostatní mohou číst a spouštět. Běžné pro sdílené adresáře projektů.
- 06777 = rwxrwxrwx — všichni mohou dělat cokoliv. Bezpečnostní problém; téměř nikdy není správná odpověď.
Jak vypracovat hodnotu chmod
Místo memorování osmičkové soustavy popište přístup, který chcete, a nechte kalkulátor vytvořit číslo a řetězec rwx.
- 01
Otevřete kalkulátor chmod
Jděte na kalkulátor chmod Handytool. Běží zcela v prohlížeči.
- 02
Zaškrtněte pole
Zaškrtněte čtení, zápis nebo spuštění pro vlastníka, skupinu a ostatní na základě toho, kdo by měl být schopen dělat co.
- 03
Přečtěte si výsledek
Nástroj zobrazuje číselný režim (jako 755) a symbolický řetězec (jako rwxr-xr-x) vedle sebe, takže si můžete zkopírovat, který váš příkaz potřebuje.
- 04
Zkopírujte příkaz
Vezměte si připravený příkaz chmod a vložte ho do terminálu, abyste aplikovali oprávnění.
Jedna výjimka: spuštění znamená různé věci
Na souboru bit spuštění znamená \"toto lze spustit jako program.\" Na složce znamená spuštění něco jiného: \"smíš vstoupit do tohoto adresáře a přistupovat k tomu, co je uvnitř.\" To je důvod, proč složky normálně dostávají 755 místo 644 — bez bitu spuštění můžete vypsat název složky, ale nemůžete ji otevřít ani dosáhnout souborů v ní.
To je důvod, proč nově nahrané složce plné čitelných souborů mohou stále házet \"permission denied\". Soubory mohou být 644 a perfektně čitelné, ale pokud samotná složka postrádá bit spuštění pro skupinu nebo ostatní, nikdo se do ní nemůže vejít. Nastavte adresáře na 755 a jejich obsah na 644 a většina těchto hádanek zmizí.
Časté otázky o chmod
Co znamená chmod 755?
Dává vlastníkovi úplné oprávnění ke čtení, zápisu a spouštění (7) a dává skupině a všem ostatním pouze čtení a spouštění (5 a 5). To je standardní režim pro složky, skripty a programy, které by ostatní měli být schopni používat, ale ne měnit.
Jaký je rozdíl mezi 755 a 644?
755 obsahuje bit spuštění, takže soubor lze spustit a lze vstoupit do složek. 644 nemá žádný bit spuštění — je to čtení a zápis pro vlastníka, pouze čtení pro všechny ostatní, což je správné pro běžné datové soubory.
Je chmod 777 bezpečný?
Zřídka. Umožňuje každému uživateli a procesu číst, upravovat a nahrazovat soubor, což je bezpečnostní riziko v jakémkoli sdíleném systému. Preferujte nejužší režim, který vyřeší problém, obvykle 755 nebo 644.
Jak mám číst režim jako rwxr-xr-x?
Čtěte jej ve třech skupinách po třech: rwx (vlastník) r-x (skupina) r-x (ostatní). Písmeno znamená, že je oprávnění uděleno, pomlčka znamená, že není. rwxr-xr-x je symbolická forma 755.