Komenda chmod systemu Linux służy do zmiany uprawnień dostępu do plików i katalogów. To znaczy Zmień tryb . Nie może zmienić uprawnień dowiązań symbolicznych. Nawet ignoruje dowiązania symboliczne, które napotykają podczas rekurencyjnego przeglądania katalogów.
w Linuksa systemie plików, każdy plik jest powiązany z konkretnym właścicielem i ma dostęp do uprawnień różnych użytkowników. Klasy użytkowników mogą być:
- właściciel
- członek grupy
- Inni (Wszyscy inni)
Uprawnienia do plików w systemie Linux są trzech następujących typów:
- przeczytaj (r)
- pisać (w)
- wykonać (x)
Krótka historia Chmod
Po pierwsze, polecenie chmod jest reprezentowane w wersji 1 systemu AT&T UNIX za pomocą wywołania systemowego chmod. Listy kontroli dostępu zostały uwzględnione w kilku systemach plików, włączając te najpopularniejsze tryby, aby zwiększyć elastyczność, ponieważ systemy rosły pod względem typów i liczby użytkowników.
Wersja chmod ułożona w coreutils GNU została określona przez Jima Meyeringa i Davida MacKenziego. To polecenie jest obecne jako izolowany pakiet dla systemu Microsoft Windows jako element natywnej kolekcji portów Win32 UnxUtils z podstawowymi narzędziami typu GNU Unix. Ponadto komenda chmod została wysłana do systemu operacyjnego IBM i.
Zobaczmy, jak zmienić uprawnienia do pliku za pomocą polecenia chmod.
Składnia:
jak pobierać filmy z YouTube'a vlc
Podstawowa składnia polecenia chmod jest następująca:
chmod
Ogólnie realizowane opcje to:
Wzmianka o dowiązaniu symbolicznym ma wpływ na obiekt docelowy. Tryby plików powiązane bezpośrednio z dowiązaniami symbolicznymi nie są zwykle używane.
Podstawowy składnik pozwolenia chmod:
Na przykład, rwxr-x---
Wszystkie grupy trzech znaków określają uprawnienia dla wszystkich klas:
Opcje:
Polecenie chmod obsługuje następujące opcje wiersza poleceń:
-c, --zmiany: Jest ona podobna do opcji szczegółowej, z tą różnicą, że jest zgłaszana w przypadku wprowadzenia zmiany.
-f, --silent, --quiet: Służy do ukrywania komunikatów o błędach.
poradnik Java dla początkujących
-v, --verbose: Służy do wyświetlania diagnostyki każdego przetworzonego pliku.
--no-preserve-root: Służy do nietraktowania symbolu ukośnika odwrotnego („/”), szczególnie (domyślnie).
--konserwuj-root: Jeśli ta opcja zostanie użyta, nie będzie działać rekurencyjnie na ukośniku odwrotnym ('/').
--reference=PLIK: Służy do określenia trybu RFILE lub wartości MODE.
-R, --rekurencyjne: Służy do rekurencyjnej zmiany plików i katalogów.
--pomoc: Służy do wyświetlania instrukcji pomocy zawierającej krótki opis sposobu użytkowania i możliwości wsparcia.
--wersja: Służy do wyświetlania informacji o wersji.
Składnia uprawnień do plików
Jeśli jesteś nowym użytkownikiem, możesz pomylić się z różnymi rodzajami liter używanych do ustawiania uprawnień do plików. Zatem zanim przejdziemy dalej z poleceniem chmod, przyjrzyjmy się składni uprawnień do plików.
Aby ustawić uprawnienia do pliku lub katalogu, musimy określić następujące rzeczy:
- Kto: Kim jesteśmy. (użytkownik)
- Co: Jakie zmiany zamierzamy wprowadzić (np. dodać lub usunąć uprawnienia)?
- Które: Które z uprawnień?
Oświadczenie o pozwoleniu jest reprezentowane za pomocą wskaźników takich jak u+x, u-x. Gdzie „u” oznacza „użytkownik”, „+” oznacza dodanie, „-” oznacza usunięcie, „x” oznacza plik wykonywalny (który).
ciąg długości
Wartością użytkownika może być:
u: właściciel pliku
g: członek grupy
o: inni
Odp.: wszystko
Typami uprawnień mogą być r, w i x.
Ustawianie i aktualizacja uprawnień
Aby ustawić uprawnienia do pliku, wykonaj instrukcję uprawnień za pomocą polecenia chmod. Na przykład chcemy ustawić uprawnienia do odczytu i zapisu dla wszystkich użytkowników i grup pliku „Demo.txt”. Musimy przekazać instrukcję uprawnień „u=rw,go=rw Demo.txt” za pomocą polecenia chmod. Aby wyświetlić uprawnienia do pliku, wykonaj poniższe polecenie:
ls -l Demo.txt
Powyższe polecenie wyświetli aktualne uprawnienia pliku „Demo.txt”.
Aby zmienić uprawnienia, wykonaj poniższe polecenie:
chmod u=rw,go=rw Demo.txt
Rozważ poniższe dane wyjściowe:
Z powyższych danych wynika, że uprawnienia dostępu do pliku „Demo.txt” uległy zmianie.
Ustawianie uprawnień dla wielu plików
Możemy ustawić uprawnienia dla wielu plików jednocześnie za pomocą polecenia chmod. Aby zmienić uprawnienia do wielu plików, określ wzorzec pliku za pomocą polecenia chmod. Na przykład, jeśli chcemy ustawić uprawnienia do odczytu i zapisu dla wszystkich plików tekstowych, określ rozszerzenie *. wzór txt za pomocą polecenia chmod.
Aby wyświetlić uprawnienia do wszystkich plików tekstowych z bieżącego katalogu roboczego, wykonaj poniższe polecenie:
ls -l *.txt
Wyświetli listę wszystkich plików tekstowych z ich trybem uprawnień. Rozważ poniższe dane wyjściowe:
lista lateksowa
Z powyższych danych wynika, że wiele plików ma uprawnienia tylko do odczytu dla innych użytkowników.
Aby ustawić uprawnienia do odczytu i zapisu dla innych użytkowników, wykonaj poniższe polecenie:
chmod o+w *.txt
Ustawi uprawnienia do odczytu i zapisu dla innych użytkowników plików tekstowych. Rozważ poniższe dane wyjściowe:
Skrót numeryczny
Do określenia uprawnień możemy używać wartości numerycznych zamiast liter. Do określenia pozwolenia używana jest wartość trzycyfrowa. Cyfra znajdująca się najbardziej na lewo oznacza właściciela (u), a cyfra środkowa przedstawia członków grupy (g). Cyfra znajdująca się najbardziej na prawo reprezentuje pozostałe (o).
Poniższa tabela przedstawia cyfry i ich uprawnienia:
Cyfry | Uprawnienia |
---|---|
000 | Brak pozwolenia |
001 | Wykonaj pozwolenie |
010 | Napisz pozwolenie |
011 | Uprawnienia do zapisu i wykonywania |
100 | Przeczytaj pozwolenie |
101 | Odczytuj i wykonuj uprawnienia |
110 | Uprawnienia do odczytu i zapisu |
111 | Uprawnienia do odczytu, zapisu i wykonywania |
Tryby symboliczne
Ponadto polecenie chmod akceptuje bardziej szczegółowy zapis symboliczny, który umożliwia zmianę określonych trybów. Tryb symboliczny składa się z trzech elementów, które są łączone w jeden ciąg tekstowy:
$ chmod [references] [operator] [modes] file...
Program chmod stosuje operator w celu zdefiniowania sposobu uporządkowania trybów plików. Zatwierdzeni są następujący operatorzy:
Operator | Opis | |
---|---|---|
+ | Dodaje opisane do opisanych klas. | |
- | Usuwa opisywany tryb z opisanych klas. | |
= | Oznacza to, że opisane tryby mają zostać utworzone jako te same tryby dla opisanych klas. |
Tryby reprezentują, które uprawnienia zostaną usunięte lub przyznane opisanym klasom. Istnieją głównie trzy popularne tryby powiązane z powszechnymi uprawnieniami:
Nazwa | Tryb | Opis |
---|---|---|
Czytać | R | Odczytuje plik lub wyświetla zawartość katalogu. |
pisać | w | Zapisuje do katalogu lub pliku. |
wykonać | X | Powtarza drzewo katalogów lub wykonuje plik. |
specjalne wykonanie | X | To nie jest pozwolenie, ale zamiast tego można go użyć zamiast x. Używa uprawnień do wykonywania katalogów pomimo ich bieżących uprawnień i używa uprawnień do wykonywania dla pliku, który ma ustawiony co najmniej bit uprawnień do wykonywania. Jest to przydatne, jeśli jest używane z operatorem „+” i bez ustawiania uprawnień do wykonywania, co miałoby miejsce, gdybyśmy po prostu użyli chmod -R a+rx., podczas gdy możemy zaimplementować chmod -R a+rx. raczej z x. |
Wiele modyfikacji można opisać, izolując wiele trybów symbolicznych wraz z przecinkami. Polecenie chmod sprawdzi plik umaska jeśli użytkownik nie jest określony.
Tryby specjalne
Ponadto polecenie chmod może zmienić specjalne tryby i dodatkowe uprawnienia do katalogu lub pliku. Tryby symboliczne mają zastosowanie „s” do wskazania trybów setgid i setuid oraz „t” do wskazania trybu trwałego. Tryb jest używany tylko dla właściwych klas, niezależnie od tego, czy wspomniano o innych klasach, czy nie.
Prawie wszystkie systemy operacyjne obsługują numerycznie specyfikację trybu specjalnego, szczególnie w formacie ósemkowym, ale kilka nie. W tych systemach można zastosować wyłącznie tryby symboliczne.
Kilka przykładów linii poleceń:
Komenda | Opis |
---|---|
chmod a+r publicComments.txt | Dodaje uprawnienia do odczytu dla każdej klasy (tj. Grupy, Właściciela i Innych). |
chmod a-x publicComments.txt | Spowoduje to usunięcie uprawnień do wykonywania dla każdej klasy. |
chmod a+rx przeglądarka.sh | Dodaje uprawnienia do wykonywania i odczytu dla każdej klasy. |
chmod u=rw, g=r, o=internalPlan.txt | Ustawi uprawnienia do zapisu i odczytu dla użytkownika, odczyt dla grupy i odrzucenie dostępu dla innych. |
chmod -R u+w, dokumenty go-w | Obejmuje to uprawnienia do zapisu w dokumentach katalogu i każdej jego zawartości dla właściciela oraz usuwa uprawnienia do zapisu dla innych osób i grupy. |
chmod i=rw groupAgreements.txt | Ustawi uprawnienia do zapisu i odczytu dla grupy i użytkownika. |
chmod 664 global.txt | Ustawi uprawnienia do zapisu i odczytu dla grupy i użytkownika oraz przyzna uprawnienia do odczytu innym. |
chmod 744 Show_myCV.sh | Ustawi uprawnienia do wykonywania, zapisu i odczytu dla użytkownika oraz przyzna uprawnienia do odczytu Grupie i Innym. |