Reklama

Więc ty znalazłeś smak Linuksa, który lubisz, ale teraz jesteś zdezorientowany, ponieważ nie masz pojęcia o komendach terminalu i uprawnieniach do plików w systemie Linux?

A może masz witrynę internetową hostowaną na serwerze z systemem Linux i masz problemy z uprawnieniami do plików, które można rozwiązać tylko za pomocą magii wiersza poleceń.

Niezależnie od tego, jeden z najważniejsze komendy Linuksa do nauki Od A do Z Linuksa - 40 podstawowych poleceń, które powinieneś znaćLinux jest często ignorowanym trzecim kołem w systemach Windows i Mac. Tak, w ciągu ostatniej dekady system operacyjny open source zyskał dużą przyczepność, ale nadal jest daleki od rozważenia ... Czytaj więcej to małe, ale potężne polecenie o nazwie chmod. Ale zanim wyjaśnimy, co robi polecenie, musimy najpierw trochę zrozumieć, w jaki sposób Linux obsługuje zabezpieczenia plików.

Podstawy uprawnień do plików w systemie Linux

Systemy operacyjne Linux są w rzeczywistości systemami uniksowymi (rozumienie Linuksa vs. Unix), a systemy uniksopodobne podchodzą do uprawnień do plików w następujący sposób:

instagram viewer

Każdy plik ma właściciel, która określa „klasę użytkownika” pliku Każdy plik ma również Grupa, która określa „klasę grupy” pliku Każdy użytkownik systemu, który nie jest właścicielem i nie należy do tej samej grupy, jest określony inni.

Wszystkie pliki w systemach uniksowych mają uprawnienia przypisane do wszystkich trzech klas, które określają, jakie akcje mogą być podjęte przez te klasy dla danego pliku.

Trzy akcje dostępne w systemie uniksopodobnym to: czytać (możliwość otwierania i przeglądania zawartości pliku), pisać (możliwość otwierania i modyfikowania zawartości pliku), oraz wykonać (możliwość uruchomienia pliku jako programu wykonywalnego).

Innymi słowy, uprawnienia do pliku określają, czy:

  • Właściciel może czytać, zapisywać i uruchamiać plik.
  • Grupa może czytać, zapisywać i uruchamiać plik.
  • Każdy inny może czytać, pisać i uruchamiać plik.

Uprawnienia do plików systemu Linux mogą być wyświetlane w dwóch formatach.

Pierwszy format nazywa się notacja symboliczna, który jest ciągiem 10 znaków: jeden znak reprezentujący typ pliku, a następnie dziewięć znaków które reprezentują uprawnienia do odczytu (r), zapisu (w) i wykonania (x) w kolejności właściciela, grupy i inni Jeśli nie jest to dozwolone, używany jest symbol myślnika (-).

Na przykład:

-rwxr-xr--

Oznacza to, że jest to zwykły plik z uprawnieniami do odczytu, zapisu i wykonywania dla właściciela; odczytywanie i wykonywanie uprawnień dla grupy; i uprawnienia tylko do odczytu dla wszystkich innych.

Drugi format nazywa się notacja numeryczna, który jest ciągiem trzech cyfr, z których każda reprezentuje odpowiednio użytkownika, grupę i inne uprawnienia. Każda cyfra może zawierać się w przedziale od 0 do 7, a wartość każdej cyfry uzyskuje się, sumując uprawnienia klasy:

  • 0 oznacza brak uprawnień.
  • +1, jeśli klasa może wykonać plik.
  • +2, jeśli klasa może zapisać do pliku.
  • +4, jeśli klasa potrafi odczytać plik.

Innymi słowy, znaczenie każdej cyfry kończy się na:

  • 0: Brak pozwolenia
  • 1: Wykonaj
  • 2: Napisz
  • 3: Napisz i uruchom
  • 4: Przeczytaj
  • 5: Przeczytaj i uruchom
  • 6: Czytaj i pisz
  • 7: Czytaj, pisz i wykonuj

Powyższy przykład (-rwxr-xr--) wynosiłby 754 w notacji numerycznej.

Oto uprawnienia do plików w systemie Linux w pigułce.

Co to jest Chmod?

W systemach uniksopodobnych chmod to polecenie na poziomie systemu, które oznacza „tryb zmiany” i umożliwia ręczną zmianę ustawień uprawnień do pliku.

Nie należy mylić chown, która jest kolejną komendą na poziomie systemu w systemach uniksowych, która oznacza „zmień właściciela” i pozwala przypisać własność pliku innemu użytkownikowi, lub chgrp, co oznacza „zmień grupę” i przypisuje plik do innej grupy. Są to ważne, aby wiedzieć, ale nie tak powszechnie używane jak chmod.

Co oznacza Chmod 644?

Ustawienie uprawnień do pliku na 644 powoduje, że tylko właściciel może uzyskać dostęp do pliku i modyfikować go, niezależnie od tego, co oni chcesz, podczas gdy wszyscy inni mają dostęp tylko bez modyfikacji, a nikt nie może wykonać pliku - nawet właściciel. Jest to idealne ustawienie dla plików publicznie dostępnych, ponieważ równoważy elastyczność z bezpieczeństwem.

Co oznacza Chmod 755?

Ustawienie uprawnień pliku na 755 to w zasadzie to samo co 644, z tym że wszyscy mają również uprawnienia do wykonywania. Jest to używane głównie w przypadku publicznie dostępnych katalogów, ponieważ wymagane jest zezwolenie na wykonanie, aby zmienić katalog.

Co oznacza Chmod 555?

Ustawienie uprawnień pliku na 555 powoduje, że plik nie może być w ogóle modyfikowany przez nikogo poza superużytkownikiem systemu (dowiedz się więcej o superużytkowniku Linuksa Co to jest SU i dlaczego jest ważne, aby efektywnie korzystać z Linuksa?Linux SU lub konto użytkownika root to potężne narzędzie, które może być pomocne, gdy jest używane poprawnie lub dewastujące, jeśli jest używane lekkomyślnie. Zobaczmy, dlaczego powinieneś ponosić odpowiedzialność podczas korzystania z SU. Czytaj więcej ). Nie jest to tak często używane jak 644, ale nadal ważne jest, aby wiedzieć, ponieważ ustawienie tylko do odczytu zapobiega przypadkowym zmianom i / lub manipulacjom.

Co oznacza Chmod 777?

Ustawienie uprawnień pliku na 777 sprawia, że ​​każdy może zrobić z nim wszystko, co chce. Jest to ogromne zagrożenie bezpieczeństwa, szczególnie na serwerach sieciowych! Dosłownie każdy może uzyskać dostęp do pliku, modyfikować go w dowolny sposób i uruchamiać w systemie. Możesz sobie wyobrazić potencjalne szkody, jeśli nieuczciwy użytkownik weźmie je w swoje ręce.

Jak korzystać z Chmod w systemie Linux

Polecenie chmod ma prosty format:

chmod [uprawnienia] [plik]

Uprawnienia można podać w notacji numerycznej, która jest najlepszym formatem do zastosowania, gdy chcesz przypisać określone uprawnienia dla wszystkich klas:

chmod 644 example.txt

Uprawnienia można również podawać w notacji symbolicznej, co jest przydatne, gdy chcesz jedynie modyfikować uprawnienia określonej klasy. Na przykład:

chmod u = rwx example.txt. chmod g = rw example.txt. chmod o = rw example.txt

Możesz modyfikować uprawnienia dla wielu klas, takich jak ten przykład, który ustawia właściciela do odczytu / zapisu / wykonania, ale dla grupy i innych do odczytu / wykonania:

chmod u = rwx, g = rw, o = rw example.txt

Przypisując te same uprawnienia do wielu klas, możesz je połączyć:

chmod u = rwx, go = rw example.txt

Ale piękno używania notacji symbolicznej świeci, gdy chcesz tylko dodać lub usunąć uprawnienie do określonej akcji dla określonej klasy.

Na przykład to dodaje uprawnienie do wykonywania dla właściciela pliku:

chmod u + x example.txt

I to usuwa uprawnienia do zapisu i wykonywania dla innych użytkowników:

chmod o-wx example.txt

Na koniec, jeśli chcesz zastosować określony zestaw uprawnień do wszystkich plików i folderów w określonym katalogu (tj. Rekodywny chmod), użyj opcji -R i wybierz katalog:

chmod -R 755 katalog_kluczy

Chociaż na pierwszy rzut oka komenda chmod wygląda na nieco szaloną, w rzeczywistości jest dość prosta i całkowicie logiczna. Jeśli rozumiesz powyższe, w zasadzie opanowałeś chmod!

Dowiedz się więcej o opanowaniu systemu Linux

Polecenia takie jak chmod, chown i chgrp to tylko wierzchołek góry lodowej Linuksa. Jeśli jesteś nowy w systemie operacyjnym, zalecamy ich sprawdzenie fajne sztuczki dla początkujących Linuksa jak również te Polecenia systemu Linux, których nigdy nie powinieneś uruchamiać.

Ale co najważniejsze, najlepiej zrobisz, sprawdzając nasze obszerny przewodnik dla początkujących po Ubuntu i Linux Ubuntu: Przewodnik dla początkującychCiekawi Cię Ubuntu, ale nie wiesz, od czego zacząć? Wszystko, czego możesz potrzebować, aby rozpocząć korzystanie z najnowszej wersji Ubuntu, znajduje się tutaj, napisane łatwym do zrozumienia, prostym językiem angielskim. Czytaj więcej , który nauczy Cię wszystkiego, co musisz wiedzieć, aby rozpocząć i poznać go na tyle, aby czuć się komfortowo.

Joel Lee ma tytuł licencjata w informatyce i ponad sześć lat doświadczenia zawodowego w pisaniu. Jest redaktorem naczelnym MakeUseOf.