W tym szybkim tutorialu, zobaczymy, jak możemy użyć polecenia chmod w Ubuntu maszyny, aby znaleźć, modyfikować i usuwać uprawnienia użytkownika z określonych plików, które istnieją w systemie plików użytkownika. Zagrajmy przez różne warunki tak, że możemy opanować podstawowe polecenia chmod, które mogą uczynić nasze codzienne życie łatwiejsze z Ubuntu.
Uprawnienia linuksowe
Uprawnienia linuksowe są wielki zestaw zasad, które są proste do zrozumienia, jeśli uchwycić prawa podstaw. Trzy główne punkty, które musimy zrozumieć, aby wiedzieć, jak działa Linux Uprawnienia są:
- Element, dla którego uprawnienia zostały zdefiniowane
- Jakie działania mogą być wykonywane z uprawnienia
- Kto może wykonywać jakie działania
W systemie plików Linux są dwa podstawowe elementy:
- Katalogi
- Pliki
Istnieją trzy akcje, które można wykonać:
- Read
- Write
- Execute. Oprócz wykonywania skryptów, te same działania są potrzebne do tworzenia plików i innych folderów wewnątrz niego
Użytkownikami, którzy mogą wykonywać te działania są:
- Właściciel pliku
- Grupa właściciela pliku
- Użytkownicy, którzy nie są związani z grupą właściciela lub samym właścicielem
Aby zobaczyć uprawnienia związane z plikiem, wykonaj następujące polecenie:
Oto co otrzymujemy z powrotem za pomocą tego polecenia:
Znajdź uprawnienia dla plików
W wyjściu, pierwsze 10 znaków przedstawia uprawnienia dla pliku:
- Pierwszy znak, którym jest ’-’ w tym przypadku oznacza, że jest to plik. Dla katalogu, to byłoby 'd’.
- Następnych dziewięć znaków reprezentują uprawnienia dla właściciela, grupy właściciela i innych, odpowiednio.
Zmiana uprawnień
Syntaktyka modyfikacji uprawnień pliku wygląda następująco:
Oktalna reprezentacja uprawnień
Możemy przedstawić uprawnienia jako liczbę ósemkową. Na przykład, aby ustawić uprawnienia read, write & execute dla właściciela, uprawnienia read & write dla jego grupy i brak uprawnień dla innych, do pliku hello.txt, wykonamy następujące polecenie:
Po wykonaniu powyższego polecenia i próbie odczytania pliku za pomocą konta niebędącego właścicielem przy użyciu następującego polecenia:
Otrzymamy następujący błąd:
Ale skąd się wzięła ta liczba? Każda cyfra tej liczby reprezentuje zestaw uprawnień. Zobaczmy, jak je uzyskano:
- 0: Oznacza brak uprawnień
- 1: Oznacza uprawnienia do wykonywania
- 2: Oznacza uprawnienia do zapisu
- 4: Oznacza uprawnienia do odczytu
Dla przypisania uprawnień do odczytu, zapisu & i wykonywania dla właściciela przypisaliśmy mu liczbę 7(= 4 + 2 + 1). Zrozumiejmy to lepiej na przykładzie tabeli cyfr:
Number | Binary | Read | Write | Execute | |
0 | 000 | NO | NO | NO | |
1 | 001 | NIE | NIE | TAK | |
2 | 010 | NIE | NIE | TAK | NIE |
3 | 011 | NIE | TAK | TAK | |
4 | 100 | TAK | NIE | NIE | |
5 | 101 | TAK | NIE | TAK | |
6 | 110 | TAK | YES | NO | |
7 | 111 | YES | YES | YES |
Powyższa tabela jest bardzo przejrzysta w tym, co każdy z nich reprezentuje w zakresie uprawnień do plików.
Odwzorowanie znaków dla uprawnień
Możemy przedstawić uprawnienia jako liczbę ósemkową. Na przykład, aby ustawić uprawnienia read, write & execute dla właściciela, uprawnienia read & write dla jego grupy oraz brak uprawnień dla innych, do pliku hello.txt, wykonamy następujące polecenie:
Aby dodać uprawnienia do istniejącego użytkownika, możemy również wykonać:
W tym przypadku uprawnienia do zapisu były przypisane do grupy użytkownika właściciela pliku.
Recursywne zmiany uprawnień
Możemy również zmienić uprawnienia do pliku znajdującego się w określonym katalogu za pomocą jednego polecenia. Aby zmodyfikować uprawnienia każdego pliku i folderu w podanym katalogu na raz, użyj sudo chmod z -R:
Możemy zobaczyć następujące wyjście, które wyraźnie odzwierciedla zmianę uprawnień do plików:
Rekursywna zmiana uprawnień do plików
Podsumowanie
W tej lekcji przyjrzeliśmy się, jak możemy zmodyfikować uprawnienia do plików i jeśli zajdzie taka potrzeba, zrobić to rekurencyjnie. Zrozumieliśmy podstawowe pojęcia związane z uprawnieniami w Linuksie, które mogą nam bardzo pomóc w naszej codziennej pracy.