Jak používat
- Zaškrtněte políčka čtení, zápis a spouštění pro vlastníka, skupinu a ostatní.
- Nebo zadejte osmičkovou hodnotu, např. 640, nebo symbolický řetězec, např. rw-r----- či -rw-r----- zkopírovaný z ls -l.
- V případě potřeby přidejte setuid, setgid nebo sticky bit, případně vyberte obvyklou hodnotu.
- Zadejte název souboru a zkopírujte příkaz chmod.
Jak to funguje
Každá ze tří tříd (vlastník, skupina, ostatní) má tři oprávnění. Čtení má hodnotu 4, zápis 2 a spuštění 1; jejich součet tvoří jednu osmičkovou číslici, takže rwx = 7, r-x = 5 a r-- = 4. Tři číslice tvoří režim: 755 znamená rwx pro vlastníka a r-x pro skupinu a ostatní.
Volitelná čtvrtá číslice na začátku obsahuje speciální bity: 4 pro setuid, 2 pro setgid a 1 pro sticky. V symbolickém tvaru nahrazují pozici execute: s pro setuid nebo setgid, t pro sticky. Velké S nebo T znamená, že speciální bit je nastaven, ale execute není, což je obvykle chyba.
Symbolické pole přijímá devět znaků (rwxr-xr-x) nebo desetiznakový tvar, který vypisuje ls -l, kde první znak je typ souboru (- pro soubor, d pro adresář) a zde se ignoruje. Přijímá se také koncová . nebo + ze SELinux nebo ACL.
Zobrazují se dva příkazy: osmičkový tvar, který nastaví všechny bity najednou, a ekvivalentní symbolický tvar, například u=rwx,g=rx,o=rx. Názvy souborů s mezerami nebo jinými speciálními znaky se pro shell uzavírají do uvozovek; úvodní ~/ a zástupné znaky * a ? se nechávají bez uvozovek, aby je shell mohl rozvinout. U GNU chmod osmičkový režim u adresáře nevymaže již nastavené bity setuid nebo setgid; pokud je potřebujete odstranit, použijte symbolický tvar nebo pěticiferný režim, například 00755.
Příklady
Webové soubory a složky
Soubory, které webový server pouze čte, mají obvykle 644 (rw-r--r--), a adresáře 755 (rwxr-xr-x), aby do nich bylo možné vstupovat a vypisovat je.
Soukromý SSH klíč
SSH odmítá klíče, které mohou číst ostatní. Zaškrtněte u vlastníka pouze čtení a zápis, abyste získali 600, a použijte příkaz chmod 600 ~/.ssh/id_ed25519 (jako název souboru zadejte cestu).
Sdílený adresář pro nahrávání
Adresáře typu /tmp používají 1777 (rwxrwxrwt): každý může vytvářet soubory, ale sticky bit brání uživatelům mazat soubory ostatních.
Časté dotazy
Jaký je rozdíl mezi 755 a 775?
U 775 může skupina také zapisovat (v adresáři vytvářet, měnit a mazat soubory). U 755 může zapisovat pouze vlastník; skupina a ostatní mají právo čtení a spuštění.
Proč bych se měl vyhnout 777?
777 umožňuje každému uživateli v systému soubor měnit nebo nahradit. Na webovém serveru to může umožnit jinému účtu nebo napadenému procesu vložit kód. Oprávnění k zápisu dejte pouze vlastníkovi nebo konkrétní skupině.
Co znamená oprávnění execute u adresáře?
U adresáře znamená execute (x) oprávnění vstoupit do něj a dostat se k souborům uvnitř. Samotné čtení umožňuje vypsat názvy, ale ne soubory otevřít.
Změní tento nástroj oprávnění na mém počítači?
Ne. Pouze vypočítává hodnoty a sestavuje text příkazu. Příkaz si spustíte sami v terminálu.
Soukromí
Vše se vypočítává ve vašem prohlížeči. Zadaný název souboru se nikam neodesílá, neukládá ani není zahrnut do analytiky.