Sobes.tech
Junior

Jak zmienić uprawnienia dostępu do pliku?

sobes.tech AI

Odpowiedź od AI

W systemach Linux/Unix używane są trzy typy uprawnień: odczyt (read), zapis (write) oraz wykonanie (execute), a także trzy kategorie użytkowników: właściciel pliku (owner), grupa (group) oraz inni (others).

Uprawnienia można zmieniać za pomocą polecenia chmod.

1. Metoda numeryczna:

# r=4, w=2, x=1
# Każda cyfra odpowiada sumie uprawnień dla właściciela, grupy i innych odpowiednio
# Na przykład: 777 (rwx dla wszystkich), 755 (rwx dla właściciela, rx dla grupy i innych)
chmod 755 nazwa_pliku

2. Metoda symboliczna:

# u (owner), g (group), o (others), a (wszyscy - ugo)
# +, - (dodaj/usun uprawnienie), = (ustaw określone uprawnienia)
# r (read), w (write), x (execute)
chmod u+x nazwa_pliku         # Dodaj uprawnienie do wykonania dla właściciela
chmod g-o-w nazwa_pliku      # Usuń uprawnienie do zapisu dla grupy i innych
chmod a=rw- nazwa_pliku       # Ustaw uprawnienia do odczytu i zapisu dla wszystkich, usuwając x

Przykłady:

  • Uczynić plik wykonywalnym tylko dla właściciela:
    chmod u+x nazwa_pliku
    
  • Ustawić uprawnienia do odczytu i zapisu dla właściciela, odczyt dla grupy i innych:
    chmod 644 nazwa_pliku
    

Dodatkowe opcje:

  • -R: rekurencyjna zmiana uprawnień (dla katalogów i ich zawartości).
    chmod -R 755 nazwa_katalogu
    

Uprawnienia dostępu można wyświetlić za pomocą polecenia ls -l.

# Przykład wyjścia ls -l
# -rwxr-xr-x 1 user group 1024 11 Nov 10:00 nazwa_pliku

Gdzie:

  • Pierwszy znak - wskazuje, że jest to plik. d oznacza katalog.
  • Kolejne trzy znaki (rwx) to uprawnienia dla właściciela.
  • Kolejne trzy (r-x) to uprawnienia dla grupy.
  • Ostatnie trzy (r-x) to uprawnienia dla innych.