Sobes.tech
Junior

Jak změnit práva přístupu k souboru?

sobes.tech AI

Odpověď od AI

V systémech Linux/Unix se používají tři typy práv: čtení (read), zápis (write) a spuštění (execute), a také tři kategorie uživatelů: vlastník souboru (owner), skupina (group) a ostatní (others).

Práva lze měnit pomocí příkazu chmod.

1. Číselná metoda:

# r=4, w=2, x=1
# Každé číslo odpovídá součtu práv pro vlastníka, skupinu a ostatní
# Například: 777 (rwx pro všechny), 755 (rwx pro vlastníka, rx pro skupinu a ostatní)
chmod 755 název_souboru

2. Symbolická metoda:

# u (owner), g (group), o (others), a (všichni - ugo)
# +, - (přidat/odebrat právo), = (nastavit specifická práva)
# r (read), w (write), x (execute)
chmod u+x název_souboru         # Přidat právo spustit soubor pro vlastníka
chmod g-o-w název_souboru      # Odebrat právo zápisu pro skupinu a ostatní
chmod a=rw- název_souboru       # Nastavit práva číst a zapisovat pro všechny, odstranit x

Příklady:

  • Udělat soubor spustitelným pouze pro vlastníka:
    chmod u+x název_souboru
    
  • Nastavit práva číst a zapisovat pro vlastníka, číst pro skupinu a ostatní:
    chmod 644 název_souboru
    

Další možnosti:

  • -R: rekurzivní změna práv (pro adresáře a jejich obsah).
    chmod -R 755 název_adresáře
    

Práva přístupu lze zobrazit pomocí příkazu ls -l.

# Příklad výstupu ls -l
# -rwxr-xr-x 1 uživatel skupina 1024 11 Nov 10:00 název_souboru

Kde:

  • První znak - označuje, že se jedná o soubor. d znamená adresář.
  • Následující tři znaky (rwx) jsou práva pro vlastníka.
  • Další tři (r-x) jsou práva pro skupinu.
  • Poslední tři (r-x) jsou práva pro ostatní.