Zrozumienie uprawnień Linuksa i użycie chmod
Przez ostatnie kilka miesięcy uczęszczałem na kurs o Linuksie(Linux) i jednym aspektem Linuksa(Linux) , który zawsze mnie dezorientował, było to, jak działają uprawnienia. Na przykład podczas przesyłania pliku na mój serwer internetowy i otrzymywania błędu, mój usługodawca hostingowy polecił mi zmienić uprawnienia do pliku na 755.
Nie miałem pojęcia, co to oznacza, chociaż zmiana uprawnień rozwiązała problem. Teraz zdałem sobie sprawę, że uprawnienia Linuksa(Linux) nie są aż tak skomplikowane, wystarczy zrozumieć system. W tym artykule omówię uprawnienia systemu Linux(Linux) na wysokim poziomie i pokażę, jak używać polecenia chmod do zmiany uprawnień dla plików i folderów.
Uprawnienia i poziomy Linuksa
W Linuksie(Linux) istnieją zasadniczo trzy uprawnienia, o które normalnie będziesz musiał się martwić: odczyt, zapis i wykonanie. Wszystkie trzy są dość oczywiste. Teraz, gdy te uprawnienia są stosowane do pliku, są one stosowane w poziomach.
W Linuksie(Linux) istnieją trzy poziomy uprawnień : właściciel, grupa i inne. Właściciel to użytkownik, który jest właścicielem pliku/folderu, grupa obejmuje innych użytkowników z grupy pliku, a „inny” reprezentuje tylko wszystkich innych użytkowników, którzy nie są właścicielem ani w grupie.
Odczyt(Read) , zapis i wykonanie są przedstawiane jako znaki symboliczne lub liczby ósemkowe. Na przykład, jeśli wykonasz ls -l w katalogu z niektórymi plikami, zobaczysz symboliczną reprezentację uprawnień.
Uprawnienia są napisane w następujący sposób: pierwszy bit to albo myślnik, albo litera d. Myślnik(Dash) oznacza, że jest to plik, a d oznacza katalog. Zauważ, że pierwszym bitem może być również l , jeśli nazwą pliku jest łącze. Następnie są trzy grupy po trzy bity. Pierwszy bit w każdej grupie jest przeznaczony do odczytu, drugi bit do zapisu, a trzeci do wykonania. Pierwsze trzy bity są dla właściciela, drugie trzy bity są dla grupy, a trzecie trzy bity dla innych. Oto bardziej wizualne wyjaśnienie.
Jeśli zobaczysz myślnik zamiast litery, oznacza to, że właściciel, grupa lub wszyscy inni użytkownicy nie mają tego uprawnienia. W powyższym przykładzie właściciel, grupa i wszyscy inni mają uprawnienia do odczytu, zapisu i wykonywania.
Jeśli spojrzysz na dane wyjściowe polecenia ls -l, zauważysz, że mój plik tekstowy ćwiczeń ma następujące uprawnienia:
-rw-rw-rw-
Oznacza to, że każdy ma tylko uprawnienia do odczytu/zapisu pliku. Oto kolejny przykład:
drwxr--r--
Patrząc na pierwszy bit, widzimy, że uprawnienia dotyczą katalogu. Właściciel ma uprawnienia do odczytu/zapisu/wykonywania, ale grupa i inni użytkownicy mają tylko uprawnienia do odczytu.
Reprezentacja liczby ósemkowej
Tak więc uprawnienia są wyświetlane w Linuksie(Linux) za pomocą symboli. Drugim sposobem przedstawienia tych samych uprawnień jest użycie liczb ósemkowych. Gdy później użyjemy polecenia chmod, zobaczysz, że możesz zmienić uprawnienia za pomocą symboli lub liczb ósemkowych.
Jak więc Linux reprezentuje odczyt, zapis i wykonanie za pomocą liczb ósemkowych? Zasadniczo po prostu przypisuje numer do każdego uprawnienia, jak pokazano poniżej.
Prawo odczytu jest reprezentowane przez 4, zapis przez 2 i wykonanie przez 1. Wszystko, co musisz zrobić, to dodać je, aby uzyskać prawo ósemkowe. Weźmy na przykład powyższy przykład, w którym każdy ma wszystkie uprawnienia:
-rwxrwxrwx
Właściciel ma rwx, więc dodamy 4 + 2 + 1, aby uzyskać wartość 7. Robimy to samo dla grupy i to samo dla innych. Ostateczna wartość ósemkowa to 777. Spójrzmy na przykład, w którym daliśmy tylko uprawnienia do odczytu/zapisu:
-rw-rw-rw-
Pierwsza liczba ósemkowa to 4 + 2, ponieważ dodajemy odczyt i zapis. Druga będzie taka sama jak trzecia liczba ósemkowa. Tutaj mamy końcową wartość ósemkową 666.
Więc teraz spróbujmy w inny sposób. Powiedzmy, że chcemy wiedzieć, jakie uprawnienia reprezentuje 755 ? Cóż, całkiem łatwo jest rozgryźć, jeśli podzielisz to na poszczególne liczby. Pierwsza cyfra to 7, którą możemy uzyskać tylko dodając 4 + 2 + 1, co oznacza, że właściciel ma uprawnienia do odczytu/zapisu/wykonywania. Pięć można uzyskać tylko przez dodanie 4 + 1, co oznacza, że grupa i inni użytkownicy mają uprawnienia do odczytu i wykonywania.
Mamy nadzieję(Hopefully) , że jest to dobre wyjaśnienie, jak reprezentować uprawnienia w systemie Linux(Linux) za pomocą liczb ósemkowych. Ogólnie rzecz biorąc, jest to całkiem proste.
Używanie chmod do modyfikowania uprawnień
Teraz, gdy rozumiemy, jak czytać uprawnienia, porozmawiajmy o tym, jak możemy je zmienić. Najłatwiejszym narzędziem do tego celu jest polecenie chmod. Oto jak to działa. Najlepszym sposobem na wyjaśnienie polecenia jest zapoznanie się z przykładem.
Zacznijmy od uprawnień, o których mówiliśmy powyżej, a mianowicie:
-rw-rw-rw-
Gdybyśmy chcieli dodać uprawnienia do wykonywania dla właściciela, grupy i innych, moglibyśmy to zrobić na dwa sposoby. Moglibyśmy użyć metody symbolicznej lub metody ósemkowej. W przypadku metody symbolicznej wykonalibyśmy następujące czynności, jak pokazano poniżej:
Dokładne polecenie to
chmod a+x filename
Składnia jest następująca: litera lub litery reprezentujące właściciela ( u ), grupę ( g ), inny ( o ) lub wszystkie ( a ) poprzedzone znakiem + oznaczającym dodanie uprawnień lub - oznaczającym odebranie uprawnień, a następnie literą oznaczającym uprawnienia ( r dla odczytu, w dla zapisu i x dla wykonania).
W powyższym przykładzie dodałem uprawnienia do wykonywania dla wszystkich użytkowników. Wynik, jak widać na powyższym zrzucie ekranu, to x dla właściciela, grupy i innych. Załóżmy teraz, że chcę usunąć uprawnienia do zapisu i wykonywania tylko dla grupy i innych użytkowników.
Jak widać tutaj, użyłem następującego polecenia, aby to osiągnąć:
chmod go-wx filename
Ponieważ chcę zmienić uprawnienia dla grupy i innych, używam litery g i litery o . Chcę usunąć uprawnienia, więc używam znaku – . Na koniec chcę usunąć uprawnienia do zapisu i wykonywania, więc używam w i x . Oto poręczny mały stolik do używania symboli:
Więc to wszystko, co należy zrobić, jeśli chodzi o użycie metody symboli. Porozmawiajmy teraz o metodzie ósemkowej, która wydaje mi się nieco łatwiejsza. Octal jest fajny, ponieważ możesz dodawać lub usuwać uprawnienia za jednym razem.
Jeśli zaczniemy od następujących uprawnień do pliku, zobaczmy, jak możemy je zmienić za pomocą metody ósemkowej:
-rw-rw-rw-
Powyżej(Above) widać, że użyłem następującego polecenia:
chmod 744 filename
Zasadniczo oznacza to, że właściciel otrzymuje uprawnienia do odczytu/zapisu/wykonywania, a grupa i inne osoby otrzymują tylko uprawnienia do odczytu. Jak widać, łatwo dodać lub usunąć uprawnienia za pomocą jednego prostego polecenia. Przejdźmy dalej i powiedzmy, że chcę ponownie zmienić uprawnienia.
Teraz użyłem następującego polecenia, znowu bardzo prostego:
chmod 640 filename
Tutaj daliśmy właścicielowi uprawnienia do odczytu/zapisu, grupie tylko do odczytu, a drugiej grupie bez uprawnień. Zero oznacza brak uprawnień. Całkiem proste, co?
Podsumowując, jest to bardzo prosty przegląd uprawnień Linuksa(Linux) i może być o wiele bardziej skomplikowany, ale dla początkujących jest to dobre miejsce na rozpoczęcie. W przyszłości opublikuję więcej artykułów na temat bardziej zaawansowanych uprawnień. Jeśli masz jakieś pytania, śmiało możesz je komentować. Cieszyć się!
Related posts
Uprawnienia plików w systemie Linux — co to jest Chmod 777 i jak z niego korzystać
Linux FIND Polecenie z przykładami
5 świetnych powodów, aby porzucić Windowsa na rzecz Linuksa
HDG wyjaśnia: Co to jest UNIX?
9 najlepszych dystrybucji Linuksa do hakowania
Zamknij i uruchom ponownie komputer z terminala Ubuntu
5 najlepszych dystrybucji Linuksa, których powinieneś używać
10 najlepszych rejestratorów ekranu dla systemu Linux
Stwórz własny serwer strumieniowego przesyłania wideo na żywo za pomocą systemu Linux
Skonfiguruj Ubuntu tak, aby nie przyciemniał ani nie wyłączał nieaktywnego wyświetlacza
5 najlepszych gier linuksowych
6 prostych sposobów na przyspieszenie instalacji Ubuntu
Jak kompilować pakiety oprogramowania w systemie Linux?
Jak utworzyć partycję dysku Linux?
Jak zainstalować prawie każdą drukarkę w systemie Ubuntu?
Najłatwiejszy sposób na zdalne połączenie z Linux Mint z dowolnego systemu operacyjnego
BSD vs Linux: podstawowe różnice
Twórz i edytuj pliki ZIP w systemie Linux za pomocą terminala
Jak nawigować i korzystać ze struktury katalogów systemu Linux
Dlaczego polecenie „mniej” jest lepsze niż „więcej” w systemach UNIX i Linux