Objaśnienie polecenia Chmod i uprawnień do plików w systemie Linux

Objaśnienie polecenia Chmod i uprawnień do plików w systemie Linux

Znalazłeś więc smak Linuksa, który Ci się podoba, ale teraz jesteś zdezorientowany, ponieważ nie masz bladego pojęcia o poleceniach terminala i uprawnieniach plików Linuksa?





A może masz witrynę hostowaną na serwerze Linux i napotkałeś pewne 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 polecenia Linuksa do nauki to małe, ale potężne polecenie o nazwie chmod . Ale zanim wyjaśnimy, co robi polecenie, musimy najpierw trochę zrozumieć, jak Linux obsługuje bezpieczeństwo plików.





Podstawy uprawnień do plików w systemie Linux

Systemy operacyjne Linux są w rzeczywistości systemami uniksopodobnymi ( zrozumienie Linuksa kontra Unix ), a systemy uniksowe podchodzą do uprawnień do plików w następujący sposób:

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ślany jako: inni .



Wszystkie pliki w systemach uniksopodobnych 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 uniksowym 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 pliku określają, czy:

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

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





Pierwszy format to notacja symboliczna , który jest ciągiem 10 znaków: jeden znak reprezentujący typ pliku, a następnie dziewięć znaków reprezentujących uprawnienia do odczytu (r), zapisu (w) i wykonywania (x) w kolejności właściciela, grupy i innych. 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 właściciela do odczytu, zapisu i wykonywania; uprawnienia do odczytu i wykonywania dla grupy; i tylko uprawnienia do odczytu dla wszystkich innych.

Drugi format to 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 mieścić się w zakresie od 0 do 7, a wartość każdej cyfry uzyskuje się poprzez zsumowanie uprawnień klasy:

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

Innymi słowy, znaczenie każdej wartości cyfry kończy się następująco:

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

Więc powyższy przykład (

-rwxr-xr--

) byłoby 754 w zapisie numerycznym.

To w skrócie uprawnienia do plików w Linuksie.

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ń pliku.

czy powinienem obejrzeć Rick i Morty?

Nie mylić z chown , które jest kolejnym poleceniem na poziomie systemu w systemach uniksopodobnych, które oznacza „zmień właściciela” i pozwala przypisać własność pliku innemu użytkownikowi lub chgrp , co oznacza „grupę zmian” i przypisuje plik do innej grupy. Są one ważne, ale nie tak powszechnie używane jak chmod.

Co oznacza Chmod 644?

Ustawienie uprawnień pliku na 644 sprawia, że ​​tylko właściciel może uzyskiwać dostęp do pliku i modyfikować go w dowolny sposób, podczas gdy wszyscy inni mogą uzyskać dostęp tylko bez modyfikowania i nikt nie może go uruchomić — nawet właściciel. Jest to idealne ustawienie dla plików, które są publicznie dostępne, ponieważ równoważy elastyczność z bezpieczeństwem.

ile zdjęć może pomieścić 32 GB

Co oznacza Chmod 755?

Ustawienie uprawnień pliku na 755 jest w zasadzie tym samym, co 644, z wyjątkiem tego, że każdy ma również uprawnienia do wykonywania. Jest to używane głównie w przypadku katalogów dostępnych publicznie, ponieważ do zmiany katalogu potrzebne jest uprawnienie do wykonywania.

Co oznacza Chmod 555?

Ustawienie uprawnień pliku na 555 sprawia, że ​​plik nie może być w ogóle modyfikowany przez nikogo poza superużytkownikiem systemu (dowiedz się więcej o superużytkowniku Linuksa). Nie jest to tak powszechnie używane jak 644, ale nadal jest ważne, aby wiedzieć, ponieważ ustawienie tylko do odczytu zapobiega przypadkowym zmianom i/lub manipulacji.

Co oznacza Chmod 777?

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

Jak korzystać z Chmod w systemie Linux

Polecenie chmod ma prosty format:

chmod [permissions] [file]

Uprawnienia mogą być podane w notacji numerycznej, która jest najlepszym formatem, którego można użyć, gdy chcesz przypisać określone uprawnienia wszystkim klasom:

chmod 644 example.txt

Uprawnienia można również podawać w notacji symbolicznej, co jest przydatne, gdy chcesz tylko zmodyfikować 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, tak jak w tym przykładzie, który ustawia właściciela na odczyt/zapis/wykonywanie, ale grupę i inne na odczyt/wykonywanie:

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

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

chmod u=rwx,go=rw example.txt

Ale piękno korzystania z notacji symbolicznej błyszczy, gdy chcesz tylko dodać lub usunąć uprawnienia do określonej akcji dla określonej klasy.

Na przykład to dodaje uprawnienia 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 (np. rekursywny chmod), użyj opcji -R i wybierz katalog:

chmod -R 755 example_directory

Chociaż na pierwszy rzut oka polecenie chmod wygląda na nieco szalone, w rzeczywistości jest całkiem proste i całkowicie logiczne. Jeśli rozumiesz powyższe, w zasadzie opanowałeś chmod!

Dowiedz się więcej o opanowaniu Linuksa

Polecenia takie jak chmod, chown i chgrp to tylko wierzchołek góry lodowej Linuksa. Jeśli jesteś nowicjuszem w systemie operacyjnym, zalecamy zapoznanie się z tymi fajnymi sztuczkami dla początkujących Linuksa, a także z poleceniami Linuksa, których nigdy nie powinieneś uruchamiać.

Ale co najważniejsze, najlepiej zrobisz, sprawdzając nasze kompleksowy przewodnik dla początkujących po Ubuntu i Linux , który nauczy Cię wszystkiego, co musisz wiedzieć, aby zacząć i zapoznać się na tyle, aby czuć się komfortowo.

Udział Udział Ćwierkać E-mail 5 wskazówek, jak doładować swoje maszyny VirtualBox Linux

Masz dość słabej wydajności oferowanej przez maszyny wirtualne? Oto, co powinieneś zrobić, aby zwiększyć wydajność VirtualBox.

Czytaj dalej
Powiązane tematy
  • Linux
  • Polecenia Linuksa
O autorze Joel Lee(1524 opublikowanych artykułów)

Joel Lee jest redaktorem naczelnym MakeUseOf od 2018 roku. Posiada licencjat. w informatyce i ponad 9-letnie doświadczenie zawodowe w pisaniu i redagowaniu.

Więcej od Joela Lee

Zapisz się do naszego newslettera

Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!

Kliknij tutaj, aby zasubskrybować