Sobes.tech
Junior

Ako zmeniť práva na prístup k súboru?

sobes.tech AI

Odpoveď od AI

V systémoch Linux/Unix sa používajú tri typy práv: čítanie (read), zápis (write) a spustenie (execute), a tiež tri kategórie používateľov: vlastník súboru (owner), skupina (group) a ostatní (others).

Práva je možné meniť pomocou príkazu chmod.

1. Číselná metóda:

# r=4, w=2, x=1
# Každé číslo zodpovedá súčtu práv pre vlastníka, skupinu a ostatných
# Napríklad: 777 (rwx pre všetkých), 755 (rwx pre vlastníka, rx pre skupinu a ostatných)
chmod 755 názov_súboru

2. Symbolická metóda:

# u (owner), g (group), o (others), a (všetci - ugo)
# +, - (pridať/odobrať právo), = (nastaviť špecifické práva)
# r (read), w (write), x (execute)
chmod u+x názov_súboru         # Pridať právo na spustenie pre vlastníka
chmod g-o-w názov_súboru      # Odobrať právo na zápis pre skupinu a ostatných
chmod a=rw- názov_súboru       # Nastaviť práva čítania a zápisu pre všetkých, odstrániť x

Príklady:

  • Urobiť súbor spustiteľným iba pre vlastníka:
    chmod u+x názov_súboru
    
  • Nastaviť práva čítania a zápisu pre vlastníka, čítanie pre skupinu a ostatných:
    chmod 644 názov_súboru
    

Ďalšie možnosti:

  • -R: rekurzívna zmena práv (pre adresáre a ich obsah).
    chmod -R 755 názov_adresára
    

Práva prístupu je možné zobraziť pomocou príkazu ls -l.

# Príklad výstupu ls -l
# -rwxr-xr-x 1 používateľ skupina 1024 11 Nov 10:00 názov_súboru

Kde:

  • Prvý znak - naznačuje, že ide o súbor. d znamená adresár.
  • Nasledujúce tri znaky (rwx) sú práva pre vlastníka.
  • Nasledujúce tri (r-x) sú práva pre skupinu.
  • Posledné tri (r-x) sú práva pre ostatných.