chmod to polecenie służące do zmiany uprawnień plików i katalogów w systemach Linux/Unix. Uprawnienia określają, kto może plik czytać, modyfikować lub uruchamiać.
Rodzaje uprawnień
W Linuxie podstawowe uprawnienia oznacza się literami:
r— read, czyli odczyt, wartość liczbowa4,w— write, czyli zapis, wartość liczbowa2,x— execute, czyli wykonanie, wartość liczbowa1.
Uprawnienia przypisuje się trzem grupom użytkowników:
- właściciel pliku —
u, - grupa —
g, - pozostali użytkownicy —
o.
Zapis liczbowy uprawnień
W poleceniu chmod 321 start każda cyfra dotyczy innej grupy:
chmod 321 start
Znaczenie cyfr:
3dla właściciela:2 + 1, czyli zapis i wykonanie —wx,2dla grupy: zapis —w,1dla pozostałych: wykonanie —x.
Czyli plik start otrzyma uprawnienia:
-wx-w---x
W pytaniach egzaminacyjnych ważne jest, aby nie mylić właściciela pliku z użytkownikiem root. Pierwsza cyfra nie oznacza automatycznie uprawnień roota, lecz uprawnienia właściciela pliku.
Częste przykłady
chmod 755 skrypt.sh
Oznacza: właściciel ma rwx, grupa ma r-x, pozostali mają r-x.
chmod 644 plik.txt
Oznacza: właściciel ma odczyt i zapis, grupa oraz pozostali tylko odczyt.