CHMOD (change mode) jest poleceniem używanym do zmiany uprawnień dostępu do plików i katalogów w systemach *nixowych. Ustawienia uprawnień mogą być ustawiane w dwojaki sposób: za pomocą wartości numerycznych oraz literowych. Do wyboru do koloru.
Chesz przetestować działanie poniższych instrukcji, a nie masz dostępu do serwera Linuxowego? Po rejestacji na DigitalOcean otrzymasz 100 dolarów do wykorzystania w ciągu 60 dni, a z przyjaznym interfejsem uruchomisz ulubioną dystrybucję w ciągu paru minut.
Jak właściwie działa system uprawnień?
Podstawowymi uprawnieniami jakie można przyznać, lub odebrać, są odczyt (read), zapis (write) oraz uruchomienie (execute). Można je ustawić kolejno dla użytkownika (user), grupy (group), reszty (others) i wszystkich (all).
Jak zarządzać uprawnieniami używając wartości liczbowych
Wartościom liczbowym przyporządkowano poszczególne uprawnienia, zatem odczyt ma wartość 4, zapis to 2, uruchomienie – 1, a 0 oznacza po prostu ich brak.
Przykładowo polecenie chmod 740 nazwapliku
sprawi, że użytkownik miał możliwość odczytu, zapisu i uruchomienia (4+2+1=7), grupa wyłącznie odczytu (4) zaś reszta brak uprawnień do nazwapliku.
Jak zarządzać uprawnieniami korzystając z wartości literowych
Drugie podejście operuje pogrubionymi wcześniej oznaczeniami użytkowników i uprawnień oraz specjalnymi operatorami = do ustawiania konkretnych, + dodanie uprawnień zaś – ich odebranie.
Zatem chcąc ustawić odczyt, zapis i uruchomienia dla użytkownika, odczyt dla grupy i brak uprawnień dla reszty należy wydać należy użyć chmod u=rwx,g=r,o= nazwapliku
.
Przykłady użycia
Aby nadać uprawnienia odczytu i zapisu dla użytkownika oraz odczyt dla grupy i reszty:chmod 644 nazwapliku
lub chmod u=rw,go=r nazwapliku
.
Wszyscy mają mieć pełne prawa (bardzo, bardzo niezalecane):chmod 777 nazwapliku
lub chmod a=rwx nazwapliku
.
Użytkownik ma pełne prawa, grupa ma odczyt i zapis, zaś reszta odczyt:chmod 764 nazwapliku
lub chmod u=rwx,g=rw,o=r nazwapliku
.
Używanie wartości literowych ma też inne możliwości. Przykładowo aby odebrać możliwość uruchomienia dla grupy i reszty (niezależnie jakie uprawnienia mieli przedtem):chmod ga-x nazwapliku
Dodać możliwość odczytu dla użytkownika i grupy:chmod ug+r nazwapliku
Dodać możliwość zapisu dla użytkownika, odebrać możliwość uruchomienia dla grupy i odebrać możliwość uruchomienia i odczytu dla reszty:chmod u+w,g-x,o-xr nazwapliku
Bardzo dużą zaletą użycia wartości literowych jest łatwa możliwość zmiany przed chwilą nadanego uprawnienia. Wystarczy po prostu zamienić +
na -
bądź odwrotnie. Szczególnie przydatne jest to w przypadku debugowania problemów z uprawnieniami gdy chce się je przydzielić tylko na chwilę.
Skomentuj