628 Poznaj Linux
Polecenie chmod służy do zmiany uprawnień do korzystania z danego obiektu (zazwyczaj pliku lub katalogu). To, co w tym momencie tak naprawdę robimy, to zmiana trybu korzystania z pliku. Istnieją dwa sposoby definiowania uprawnień do obiektu: numeryczny i literowy. Użytkownicy obiektu mogą zostać zdefiniowani według przynależności do jednej z trzech klas: mogą być użytkownikiem obiektu (user), grupą korzystającą z obiektu (group) lub też należeć do kategorii pozostali (others). Korzystając z oznaczeń literowych użytkownik oznaczany jest literą u, grupa literą y, pozostali literą o, a wszystkie trzy kategorie razem literą a. Istnieją również trzy podstawowe rodzaje uprawnień do obiektu: uprawnienia do odczytu r (read), uprawnienia do zapisu w lub na obiekcie w (wrile) i x (cxccute) -uprawnienia do uruchamiania pliku lub plików w katalogu, jeśli obiektem jest katalog. Uprawnienia przypisane obiektowi można zmienić znakami plus (+) i minus (-). Przykładowo, aby nadać użytkownikowi i zdefiniowanej grupie uprawnienia do odczytywania i uruchamiania pliku testi, należy wpisać polecenie:
chmod ug+rx testi
A aby usunąć te uprawnienia wystarczy znak plus (+) zastąpić znakiem minus (-):
chmod ug-rx tesLl
W kodzie literowym zmieniamy tryb korzystania z. pliku.
Odwrotnie niż literowy, numeryczny tryb definiowania uprawnień nic zmienia już istniejących uprawnień tylko definiuje komplet zupełnie nowych. W trybie tym poszczególnym rodzajom uprawnień przypisane są wartości liczbowe będące kolejnymi potęgami dwójki: l oznacza uprawnienia do uruchamiania pliku, 2 do zapisu na pliku, a 4 uprawnienia do odczytu. Następnie liczby te są dodawane do siebie, a ich suma definiuje jednoznacznie, jakie uprawnienia dana kategoria użytkowników posiada. Korzystając z liczbowego kodu zapisu uprawnień definiujemy bowiem zawsze, od razu uprawnienia dla wszystkich trzech kategorii użytkowników. Aby więc nadać właścicielowi (użytkownikowi) pliku uprawnienia do zapisu, odczytu i egzekucji pliku, jednocześnie uniemożliwiając całkowicie korzystanie z pliku wszystkim pozostałym użytkownikom, należy wpisać w kodzie liczbowym wartość 700, gdzie 7 oznacza uprawnienia właściciela pliku, a zera uprawnienia pozostałych grup:
chmod 700 tesli
Jeśli z kolei chcemy nadać użytkownikowi uprawnienia do odczytu i zapisu pliku, a pozostałym kategoriom, grupie użytkowników i pozostałym (others), jedynie uprawnienia do odczytu pliku, powinniśmy postąpić w następujący sposób:
Skoro liczbą definiującą uprawnienia do odczytu pliku jest 4, a liczbą definiującą uprawnienia do zapisu jest 2, to uprawnienia użytkownika do odczytu i zapisu będą zdefiniowane przez sumę tych dwóch liczb, czyli 6. Uprawnienia przypisanej plikowi grupy