Wielu początkujących użytkowników systemu operacyjnego Linux często myli się podczas przypisywania praw dostępu za pomocą polecenia chmod.
W tej poradzie, dostępnej i wizualnej, dam przykłady użycia polecenia chmod . Po prostu wykorzystaj te przykłady w swojej pracy, podstawiając niezbędne pliki lub katalogi.
polecenie chmod Jest poręczne narzędzie w celu poprawy bezpieczeństwa system operacyjny i pozwala na przypisanie prawa dostępu do plików lub katalogów.
Jeśli używasz systemu przy użyciu (lub przyznanych) rozszerzonych uprawnień superużytkownika jako root, będziesz mógł to zrobićzmienić prawa dostępu do dowolnego pliku i katalogu należącego do dowolnego użytkownika systemu.
Jeśli jesteś standardowym użytkownikiem, będziesz mógł przypisywać lub zmieniać uprawnienia tylko do utworzonych przez siebie katalogów i plików.
Przydzielać prawa dostępu do plików lub katalogów za pomocą polecenia chmod można to zrobić na dwa sposoby - używając trybu symbolicznego i absolutnego.
Przykłady użycia polecenia chmod w trybie znakowym:
(Początkowa wartość uprawnień do plików to rwxrwxrwx - pełny dostęp dla każdego)
Aby odebrać uprawnienia do wykonywania pliku wszystkim użytkownikom i grupom:
$ chmod plik a-x (rw-rw-rw-)
Aby anulować zapis do pliku przez grupę i innych użytkowników:
$ plik chmod go-w(rw-r--r--)
Zezwolenie na wykonanie pliku przez właściciela:
$ plik chmod u+x(rwxr--r--)
Nadanie grupie takich samych praw dostępu, jakie posiada właściciel pliku:
$ chmod g=u plik(rwxrwxr--)
Anuluj odczyt i zapis do pliku przez użytkowników grupy i innych użytkowników:
$ plik chmod go-rw(rwx--x---)
Przykłady użycia polecenia chmod w trybie bezwzględnym:
Zezwolenie na odczyt, zapis i wykonanie pliku przez wszystkich użytkowników i grupy (pełna kontrola):
$ plik chmod 777(rwxrwxrwx)
Ustaw uprawnienia do odczytu i zapisu dla właściciela, grupy i innych użytkowników:
$ plik chmod 666(rw-rw-rw-)
Instalacja pełny dostęp do pliku dla właściciela i tylko do odczytu dla grupy i innych użytkowników:
$ plik chmod 744(rwxr--r--)
Ustawianie pełnego dostępu do pliku właścicielowi pliku i odmawianie dostępu grupie i innym użytkownikom:
$ plik chmod700(rwx------)
Ustawianie uprawnień do odczytu i zapisu dla właściciela pliku oraz tylko do odczytu dla grupy i innych osób:
$ plik chmod 644(rw-r--r--)
Ustawianie uprawnień do odczytu i zapisu dla właściciela pliku i jego grupy oraz odmawianie dostępu innym osobom:
$ plik chmod640(rw-r-----)
Ustawianie dostępu do plików z uprawnieniami do odczytu dla wszystkich użytkowników i grup:
$ plik chmod 444(r--r--r--)
Uprawnienia plików do odczytu, zapisu, wykonywania przez właściciela i odczytu, wykonywania przez grupę i inne:
$ plik chmod755(rwxr-xr-x)
Zezwalanie na dostęp do odczytu i wykonywania pliku użytkownikowi i innym osobom oraz odmawianie dostępu grupie:
$ plik chmod 505(r-x---r-x)
Jeśli chcesz przypisać uprawnienia do wszystkich plików w bieżącym katalogu, po prostu wstaw * (gwiazdkę) po przypisanych uprawnieniach:
$ zmień 755 *
W wyniku wykonania tego polecenia właściciel będzie miał pełne prawa (odczyt, modyfikacja, wykonanie) do wszystkich plików w bieżącym katalogu, podczas gdy grupa i inni użytkownicy będą mieli tylko uprawnienia do odczytu i wykonywania.
Jeśli chcesz, aby Twoje działania propagowały się rekurencyjnie (w tym wszystkie podkatalogi), użyj opcji -R:
$ chmod -R 777 *
Efektem uruchomienia powyższego polecenia będzie rekurencyjne „przechodzenie” przez wszystkie podkatalogi bieżącego katalogu i przydzielanie pełnego dostępu wszystkim użytkownikom i grupom.
W tym artykule omówiono tylko kilka przykładów użycia polecenia. chmod. Jeśli chcesz dowiedzieć się więcej o pracy zespołu chmod I prawa dostępu w systemie Linux zwróć uwagę na .
Zmień uprawnienia do plików
-R | Rekurencja. Używany do folderów. Zmienia uprawnienia nie tylko dla określonego obiektu, ale dla wszystkich zagnieżdżonych obiektów |
-R -H | Podążaj za dowiązaniami symbolicznymi wiersz poleceń. Domyślnie dowiązania symboliczne nie są przetwarzane |
-R -L | Wszystkie dowiązania symboliczne zostaną przetworzone |
-R -P | Drzewo łączy nie będzie przetwarzane. Ustawienie domyślne. |
-w | Gadatliwy. Pokazuje wszystkie pliki, które zostały zmienione |
-v -v | bardzo szczegółowy tryb. Stare i nowe uprawnienia będą wyświetlane w trybie ósemkowym (numerycznym) i alfabetycznym |
-F | nie wyświetlaj komunikatów diagnostycznych, jeśli nie można zmienić uprawnień do plików |
Prawa dostępu:
Prawa dostępu można określić w kodzie alfabetycznym lub numerycznym w oparciu o system liczb ósemkowych
Zarządzanie poprzez autoryzację cyfrową:
Do kontroli praw wykorzystywane są trzy bity
po trochu | Numer | Kod literowy | opis prawa |
000 | 0 | żadnych praw | |
001 | 1 | wyłącznie prawo egzekucyjne | |
010 | 2 | tylko pisać | |
011 | 3 | prawo do nagrywania i wykonywania | |
100 | 4 | tylko do odczytu | |
101 | 5 | prawo do odczytu i wykonania | |
110 | 6 | prawo do czytania i pisania bez egzekucji | |
111 | 7 | wszystkie prawa |
Takie prawa do plików ustalane są dla trzech typów dostępu:
W rezultacie polecenie wygląda następująco:
$ chmod 444 plik - uprawnienia tylko do odczytu dla wszystkich
$chmod 755 plik - właściciel ma wszystkie prawa (7), pozostali użytkownicy tylko czytają i uruchamiają (5)
$chmod 066 plik - właściciel nie ma praw do pliku (0), wszyscy inni mają prawo do odczytu i zapisu bez wykonania
Zarządzanie za pomocą alfabetycznych praw dostępu:
Format określania praw przy użyciu kodu symbolicznego
[kto...][[+-=][prawa...]...][,...]
Kto jest kombinacją znaków „ugo” wskazując na użytkownicy którego prawa dostępu do pliku lub folderu zostaną zmienione
NAZWA
chmod – zmiana trybu dostępu do pliku
SKŁADNIA
Tryb pliku Chmod...
OPIS
Uprawnienia do określone pliki(wśród których mogą znajdować się katalogi) są zmieniane zgodnie z określonym trybem. Tryb można określić w formie bezwzględnej lub symbolicznej.
Forma bezwzględna to liczba ósemkowa w formacie bitowym LUB w następujących trybach: 04000 Podczas wykonywania zresetuj bieżący identyfikator użytkownika.
Użycie widoku symbolicznego opiera się na jednolitych zapisach, które definiują klasę dostępu i prawa dostępu członków tej klasy. Prawa dostępu do pliku zależą od identyfikatora użytkownika i identyfikatora grupy, do której użytkownik należy. Tryb jako całość opisany jest trzema sekwencjami, każda z trzema literami:
Właściciel Grupa Inny (u) (g) (o) rwx rwx rwx
W tym przypadku właściciel, członkowie grupy i wszyscy inni użytkownicy mają prawo do odczytu, zapisu i wykonywania pliku. Przykład pokazuje zapis zarówno klasy dostępu, jak i praw dostępu w ramach tej klasy.
Aby określić tryb dostępu w formie symbolicznej, użyj następującej składni:
[komu] prawa operacyjne
Część [to] jest kombinacją liter u, g i o (odpowiednio właściciel, członkowie grupy i inni użytkownicy). Jeśli pominięto część who lub podano a, jest to równoważne ugo.
Operacją może być: + (dodanie prawa), - (pozbawienie prawa), = (w ramach danej klasy nadanie praw bezwzględnie, czyli dodanie określonych praw i odejmowanie nieokreślonych).
Prawa to dowolna sensowna kombinacja następujących liter:
Możesz pominąć część prawa tylko wtedy, gdy operacja wynosi = (pozbawienie wszystkich praw).
Jeżeli zachodzi potrzeba wykonania więcej niż jednej instrukcji zmiany uprawnień, to w przypadku stosowania typu symbolicznego w uprawnieniach nie powinno być spacji, a instrukcje należy oddzielić przecinkami. Na przykład polecenie
Chmod u+w,go+x f1
doda prawo dla właściciela do zapisu do pliku f1, a dla członków grupy i innych użytkowników - prawo do wykonania pliku. Prawa są ustawiane w określonej kolejności. Prawo s można dodać tylko dla użytkownika i grupy, prawo t można dodać tylko dla użytkownika.
Uwzględnienie blokady dostępu (l) do pliku i jego części oznacza możliwość wyłącznego zajęcia fragmentów pliku na czas ich przetwarzania. Nie można jednak pozwolić na wykonanie pliku przez członków grupy, jednocześnie zezwalając na zablokowanie pliku. Nie można także zezwolić na resetowanie efektywnego identyfikatora grupy w czasie wykonywania i respektowanie blokowania plików. Dlatego następujące polecenia są nieprawidłowe:
Chmod g+x,+l f2 chmod g+s,+l f3 Próba ich wykonania spowoduje odpowiednią diagnostykę.
Tylko właściciel lub superużytkownik może zmienić tryb dostępu do pliku. Tylko superużytkownik może ustawić bit inwazyjny. Aby dodać prawo do resetowania identyfikatora grupy, musisz być członkiem tej grupy; ponadto członkom grupy należy przyznać uprawnienia wykonawcze.
Aby wyświetlić prawa dostępu i kontrolę w przypadku ich zmiany, użyj polecenia z flagą -l. Uprawnienia do resetowania identyfikatorów użytkowników i grup są oznaczone literą s w miejscu odpowiedniej litery x: małą s, jeśli odpowiednia kategoria użytkowników ma prawo x, i dużą S, jeśli nie; prawe t jest zaznaczone na miejscu ostatni list x: małe t, jeśli inni użytkownicy mają uprawnienia do wykonania pliku, i duże T, jeśli nie. Prawe l jest zaznaczone zamiast prawego x dla członków grupy.
PRZYKŁADY
Zespół chmod, chowany zespół i polecenie chgrp.
Zespół chmod przeznaczony jest do zmiany praw dostępu do plików i katalogów w systemie Linux. Nazwa zespołu pochodzi od wyrażenia „ rozdz złość mod mi".
Składnia polecenia chmod są następujące:
Nazwa pliku uprawnień Chmod
Uprawnienia można ustawić na dwa sposoby:
Chmod 764 mój plik
W tego formatu prawa dostępu nie są określane za pomocą symboli rwx, jak opisano powyżej, ale liczbę trzycyfrową. Każda cyfra numeru reprezentuje określony zestaw praw dostępu.
Poniższa tabela zawiera wszystkie możliwe kombinacje uprawnień rwx i odpowiadających im numerów (które są używane w poleceniu chmod):
Numer | Uprawnienia | Oznaczenie symboliczne |
---|---|---|
0 | żadnych uprawnień | --- |
1 | x - uruchom | --X |
2 | w - zmienić | -w- |
3 | x+w — uruchom+zmień | -wx |
4 | r - czytaj | R-- |
5 | r+x - czytaj+uruchom | r-x |
6 | r+w - czytaj+zmień | rw- |
7 | r+w+x - czytaj+zmień+uruchom | rwx |
Przyjrzyjmy się przykładowi użycia polecenia chmod z wieloma prawami dostępu. Ustawmy uprawnienia do plików na 764:
Chmod 764 mój plik
Oznacza to (patrz tabela powyżej), że dla pliku mójplik ustalamy prawa dostępu 7 6 4 , co oznacza:
Jeśli napiszemy 764 używając symboli (patrz tabela) otrzymujemy: „ rwxrw-r-».
Poniższa tabela przedstawia niektóre powszechnie używane numeryczne wartości uprawnień:
Numeryczny oznaczenie | oznaczenie „rwx”. | Opis |
---|---|---|
400 | -R-------- | Właściciel pliku może tylko odczytać plik. W przypadku pozostałych osób wszelkie działania związane z plikiem są zabronione. |
644 | -rw-r--r-- | Wszyscy użytkownicy mogą odczytać plik. Właściciel może zmienić plik. |
660 | -rw-rw---- | Właściciel i grupa mogą czytać i modyfikować plik. W przypadku pozostałych osób wszelkie działania związane z plikiem są zabronione. |
664 | -rw-rw-r-- | Każdy może przeczytać plik. Właściciel i grupa mogą się zmienić. |
666 | -rw-rw-rw- | Każdy może czytać i zmieniać plik. |
700 | -rwx------ | Właściciel może czytać, modyfikować i uruchamiać plik. W przypadku pozostałych osób wszelkie działania związane z plikiem są zabronione. |
744 | -rwxr--r-- | Każdy może przeczytać plik. Właściciel może również modyfikować i uruchamiać plik. |
755 | -rwxr-xr-x | Każdy może przeczytać i uruchomić plik. Właściciel może również modyfikować plik. |
777 | -rwxrwxrwx | Wszyscy użytkownicy mogą czytać, zmieniać i edytować plik. |
Chmod +x mójplik1 chmod g=rw mójplik2 chmod u-w mójplik3
Jak widać, w tym formacie prawa dostępu są określone symbolami rwx, ale składnia wykorzystuje również inne symbole pomocnicze, na przykład operacje matematyczne „ + " I " - " i symbole takie jak " G" Lub " ty».
Ogólną składnię można zapisać mniej więcej tak:
Chmod (właściciel) (operacja matematyczna) (uprawnienia) nazwa pliku
Oznaczenia właścicieli plików są następujące:
Operacje matematyczne oznaczają:
Za pomocą jednego polecenia możesz wyświetlić listę właścicieli i ich uprawnień oddzielonych przecinkami (patrz przykład poniżej).
Spójrzmy na przykłady:
W w tym przypadku Nie używamy oznaczeń właścicieli, co oznacza, że uprawnienia są ustawione dla wszystkich użytkowników. " +x"oznacza - ustaw pozwolenie na uruchomienie ( X) dla wszystkich użytkowników. Jest to równoznaczne z uruchomieniem polecenia: chmod a+x mójplik1 .
Stosowana tutaj notacja to G i równy symbol „ = " Oznacza to, że dla grupy ustawiamy uprawnienia do odczytu i zapisu pliku ( rw).
Dla właściciela pliku ( ty) usuwamy pozwolenie na zmianę ( w) plik.
Pozwalamy właścicielowi ( ty) i grupa ( G) uruchom plik ( X).
Dokładnie tak jest, gdy podajemy właścicieli oddzielonych przecinkami i ustalamy dla nich uprawnienia. Dla właściciela pliku ( ty) pozwalamy na uruchomienie pliku dla grupy ( G) zabraniamy zmiany pliku wszystkim innym ( o) zabraniamy czytania pliku.
Jeśli chcesz zmienić prawa dostępu do wszystkich plików w katalogu, łącznie z podkatalogami, istnieje taka możliwość -R, co oznacza zmiana rekurencyjna prawa dostępu do katalogów i ich zawartości. Na przykład zmieńmy prawa dostępu do wszystkich plików w katalogu Mydir:
Chmod -R 644 Mójkad
I jeszcze jedno. Jeśli użytkownik nie jest właścicielem pliku, ale musi zmienić uprawnienia ten plik, a następnie polecenie chmod należy to zrobić za pomocą sudo, Na przykład:
Plik sudo chmod 644
Aby zmienić właściciela i grupę pliku, użyj polecenia chowane.
Aby zmienić właściciela pliku, użyj następującej składni:
Chown nowy_właściciel nazwa_pliku
mójplik nowy właściciel Wasia:
Chown Vasya mój plik
Aby zmienić właściciela i grupę pliku, użyj następującej składni:
Chown nowy_właściciel:nowa_grupa nazwa_pliku
Na przykład ustawmy plik mójplik nowy właściciel Wasia i grupa sambashare:
Chown Vasya: sambashare mój plik
Jest jeszcze jedno polecenie - chgrp. Umożliwia zmianę jedynie grupy. Na przykład:
Chgrp sambashare mój plik
W Linuksie każdy plik ma uprawnienia - uprawnienia, właściciela i grupę.
Uprawnienia są ustawione dla właściciela, grupy i wszystkich innych osób.
Istnieją trzy rodzaje uprawnień − R- czytanie, w- zmiana, X- początek.
Aby zmienić uprawnienia do plików, użyj polecenia chmod.
Aby zmienić właściciela lub grupę, użyj polecenia chowane.
Do zmiany grupy służy chgrp.
(Początkowa wartość uprawnień do pliku to rwxrwxrwx - pełny dostęp dla wszystkich) Usuwanie uprawnień do wykonywania pliku dla wszystkich użytkowników i grup:
$ plik chmod a-x (rw-rw-rw-)
Aby anulować zapis do pliku przez grupę i innych użytkowników:
$ plik chmod go-w (rw-r–r–)
Zezwolenie na wykonanie pliku przez właściciela:
$ chmod u+x plik (rwxr–r–)
Nadanie grupie takich samych praw dostępu, jakie posiada właściciel pliku:
$ chmod g=u plik (rwxrwxr–)
Anuluj odczyt i zapis do pliku przez użytkowników grupy i innych użytkowników:
$ chmod go-rw plik (rwx–x-)
Zezwolenie na odczyt, zapis i wykonanie pliku przez wszystkich użytkowników i grupy (pełna kontrola):
$ plik chmod 777 (rwxrwxrwx)
Ustaw uprawnienia do odczytu i zapisu dla właściciela, grupy i innych użytkowników:
$ plik chmod 666 (rw-rw-rw-)
Ustawianie pełnego dostępu do plików dla właściciela i tylko do odczytu dla grupy i innych użytkowników:
$ plik chmod 744 (rwxr–r–)
Ustawianie pełnego dostępu do pliku właścicielowi pliku i odmawianie dostępu grupie i innym użytkownikom:
$ plik chmod 700 (rwx--)
Ustawianie uprawnień do odczytu i zapisu dla właściciela pliku oraz tylko do odczytu dla grupy i innych osób:
$ plik chmod 644 (rw-r–r–)
Ustawianie uprawnień do odczytu i zapisu dla właściciela pliku i jego grupy oraz odmawianie dostępu innym osobom:
$ plik chmod 640 (rw-r-–)
Ustawianie dostępu do plików z uprawnieniami do odczytu dla wszystkich użytkowników i grup:
$ plik chmod 444 (r–r–r–)
Uprawnienia plików do odczytu, zapisu, wykonywania przez właściciela i odczytu, wykonywania przez grupę i inne:
$ plik chmod 755 (rwxr-xr-x)
Zezwalanie na dostęp do odczytu i wykonywania pliku użytkownikowi i innym osobom oraz odmawianie dostępu grupie:
$ plik chmod 505 (r-x-r-x)
Jeśli chcesz przypisać uprawnienia do wszystkich plików w bieżącym katalogu, po prostu wstaw * (gwiazdkę) po przypisanych uprawnieniach:
$chmod 755 *
W wyniku wykonania tego polecenia właściciel będzie miał pełne prawa (odczyt, modyfikacja, wykonanie) do wszystkich plików w bieżącym katalogu, podczas gdy grupa i inni użytkownicy będą mieli tylko uprawnienia do odczytu i wykonywania. Jeśli chcesz, aby Twoje działania propagowały się rekurencyjnie (w tym wszystkie podkatalogi), użyj opcji -R:
$ chmod -R 777 *
Efektem wykonania powyższego polecenia będzie rekurencyjne „przechodzenie” przez wszystkie podkatalogi bieżącego katalogu i przydzielenie pełnego dostępu wszystkim użytkownikom i grupom. W tym artykule omówiono tylko kilka przykładów użycia polecenia chmod. Jeśli chcesz dowiedzieć się więcej o poleceniu chmod i uprawnieniach w systemie Linux, zapoznaj się z tym artykułem.
$ find /ścieżka/do/bazy/katalog -typ d -exec chmod 755() +
$ chmod 755 $(znajdź /ścieżka/do/bazy/katalog -typ d)
$ chmod 755 `znajdź /ścieżka/do/bazowego/katalogu -typ d`
$ find /ścieżka/do/bazy/katalogu -typ d -print0 | xargs -0 chmod 755
$ find /ścieżka/do/bazy/katalog -typ f -exec chmod 644() +
$ chmod 644 $(znajdź /ścieżka/do/bazy/katalog -typ f)
$ chmod 0755 `znajdź./ -wpisz f`
$ find /ścieżka/do/bazowego/katalogu -typ f -print0 | xargs -0 chmod 644
Najpierw zrozumiemy istotę problemu z Chmodem, aby zrozumieć, co dokładnie i jak to konfigurujemy. Zacznijmy więc. Prawa dostępu są podzielone na Chmod dla plików i Chmod dla katalogów. Są one oznaczone tak samo, ale oznaczają nieco inne rzeczy.
Prawa dostępu (Chmod) do plików dzielą się na:
r - prawo do odczytu danych.
w - prawo do zmiany treści (zapis - zmienia tylko treść, ale nie usuwa).
x - prawo do wykonania pliku.
Przyjrzyjmy się bliżej prawom wykonywania pliku. Faktem jest, że w systemie Linux (Unix) można wykonać dowolny plik. O tym, czy jest ona wykonawcza, nie decyduje jej rozszerzenie (pojęcie przedłużenia nie występuje w system plików Unix) i prawami dostępu Chmod. Jeśli plik ma prawo „X” (chmod x), oznacza to, że można go wykonać.
Teraz o prawach dostępu (Chmod) do folderu (katalogu):
r - prawo do odczytu katalogu (możesz przeczytać zawartość katalogu, czyli uzyskać listę znajdujących się w nim obiektów)
w - prawo do zmiany zawartości katalogu (możesz tworzyć i usuwać obiekty w tym katalogu, a jeśli masz uprawnienia do zapisu, możesz nawet usuwać pliki, które nie należą do Ciebie)
x - prawo umożliwiające wejście do katalogu (to prawo jest zawsze sprawdzane w pierwszej kolejności, nawet jeśli masz wszystko niezbędne prawa na obiekcie, który jest ukryty głęboko w łańcuchu katalogów, ale nie masz prawa „X” dostępu do przynajmniej jednego katalogu na ścieżce do tego pliku, to nigdy do niego nie dotrzesz)
W Systemy linuksowe(Unix) wszystkie te uprawnienia nadaje główny administrator komputera, do którego uzyskuje dostęp poprzez wprowadzenie hasła. A jeśli większość obiektów ma prawa dostępu tylko do odczytu (Chmod), to wirusy na takim komputerze praktycznie nie będą miały nic do roboty, bo nie będą mogli ani się tam zapisać, ani wtedy się spełnić. To jest dokładnie ten rezultat, który musimy osiągnąć, ustawiając prawa dostępu (Chmod) do obiektów na naszej stronie.
Same prawa dostępu (Chmod) są podzielone na trzy kategorie, w zależności od tego, kto uzyskuje dostęp do obiektu:
„user” - u (bezpośredni właściciel pliku)
"grupa" - g (członek tej samej grupy co właściciel)
„świat” - o (wszystkie inne)
Serwer określa, do której grupy użytkowników Cię przypisać, kiedy łączysz się z serwerem. Kiedy na przykład łączysz się z serwerem poprzez FTP, logujesz się podając swoją nazwę użytkownika (i hasło), a następnie serwer przypisuje Cię do grupy „użytkownik” („u)”. Pozostali użytkownicy, którzy również połączą się poprzez FTP z serwerem zostaną przydzieleni do grupy „grupa” („g”), a użytkownik, który wejdzie na Twoją stronę za pomocą przeglądarki, zostanie przypisany do grupy „świat” („o”) .
Odmiany trzech możliwe wartości„r”, „w” i „x” dla trzech kategorii „u”, „g” i „o” i zdefiniuj Chmod w plikach. Jeżeli kategoria nie jest określona, zostaje ona zastąpiona łącznikiem „-”. prawa dostępu (Chmod) podawane są sekwencyjnie w podanej kolejności:
najpierw prawa dla właściciela - „u”
następnie dla grupy - „g”
i na końcu po prawej dla wszystkich pozostałych - „o”
Po przypisaniu użytkownika do określonej grupy serwer przyznaje mu uprawnienia do działania na obiektach, po czym użytkownik będzie mógł odczytać, zapisać lub wykonać plik (w zależności od tego, co jego grupa może zrobić z tym obiektem) . Aby wyświetlić zawartość folderu, musi on posiadać atrybut odczytu „r” (dla grupy, do której serwer przypisał użytkownika). Aby utworzyć plik lub folder w już istniejącym, musi on mieć atrybut Chmod we wpisie „w”.
Dla jasności spójrzmy na przykład, w którym właściciel pliku („użytkownik” - „u”) ma wszystkie prawa: prawo do odczytu, zapisu i wykonywania, a wszyscy pozostali użytkownicy mają tylko prawo do odczytu. Wpis dla takiego Chmod będzie wyglądał następująco: „rwx r-- r--”. Przyjrzyjmy się temu szczegółowo: „rwx” (ten rekord określa prawa do obiektu dla właściciela - „u”), „r--” (ten rekord określa prawa do tego samego obiektu, ale jeśli użytkownik ma przypisane przez serwer do grupy - „g”), „r--” (wpis ten określa uprawnienia do obiektu dla wszystkich pozostałych użytkowników - o”).
Nic nie da się zrobić |
Odmowa dostępu do katalogu i jego podkatalogów |
|
Może przeglądać i zmieniać zawartość |
Możesz dodawać, usuwać, zmieniać plik folderu |
|
Wykonaj, jeśli plik jest binarny |
Użytkownik może uruchomić plik binarny, o którym wie, że istnieje, ale nie może wejść do katalogu ani go odczytać |
Widać, że wpisy tutaj służą do opisu praw dostępu za pomocą Litery łacińskie i łączniki, ale zapewne spotkałeś się już z faktem, że Chmod jest zwykle podawany w formie cyfrowej, na przykład dobrze znana kombinacja: Chmod 777, która pozwala na wszystko każdemu. Rzeczywiście, prawa dostępu (Chmod) są również oznaczone liczbami:
w (rekord) zastępuje się przez 2
x (wykonanie) zastępuje się 1
0 oznacza - nic nie rób (co w zapisie alfabetycznym oznacza się myślnikiem) Wróćmy do przykładu zapisywania praw dostępu, który podałem nieco wcześniej: rwx r-- r--. Jeśli zamienimy w nim litery i łączniki na liczby, zgodnie z opisaną powyżej zasadą, a jednocześnie dodamy liczby w każdej trójce, otrzymamy widok cyfrowy tego wpisu: 744. To znaczy Okazuje się, że suma tych liczb pokazuje Chmod do plików lub folderu. Na przykład:
7 (rwx) = 4 + 2 +1 (pełne prawa)
5 (r-x)= 4 + 0 + 1 (odczytaj i wykonaj)
6 (rw-) = 4 + 2 + 0 (odczyt i zapis)
4 (r--) =4 + 0 + 0 (tylko do odczytu)
Ta tabela pokazuje wszystkie możliwe kombinacje Chmod zapisane w formie cyfrowej:
Przyjrzyjmy się teraz różnym kombinacjom Chmod w liczbach w odniesieniu do grup użytkowników:
""Właściciel"" |
""Grupa"" |
""Odpoczynek"" |
|
dokonywać |
|||
dokonywać |
dokonywać |
||
Ty sam (z wyjątkiem przypadku, gdy uzyskujesz dostęp do witryny przez FTP) i wszyscy inni odwiedzający Twoją witrynę należysz do grupy „słowo” (wszyscy inni), więc aby pracować ze stroną internetową, musimy najpierw spojrzeć na ostatnią (trzecią ) Numer Chmod. Aby skrypt „uruchamiał plik” podczas pracy użytkownika z witryną, wystarczy ustawić na nim prawa dostępu (Chmod), zaczynając od „4” (r-- – tylko do odczytu) ( 5,6,7 są również odpowiednie, ale będzie to niepotrzebne ze względów bezpieczeństwa).
„Dla folderu”, w którym znajduje się plik tego skryptu, musisz ustawić minimum na „5” (r-x - możesz wejść do folderu i przeczytać jego zawartość, nie możesz usunąć ani dodać). 7 też będzie działać, ale będzie też zbędne pod względem bezpieczeństwa. Jeśli potrzebujesz skryptu, aby nie tylko odczytał, ale także „zapisał” jakieś dane (na przykład wprowadzone przez użytkownika), to minimalne uprawnienia dla „folderu” nadal będą wynosić „5”, ale dla „pliku” będzie już potrzebować uprawnień „6” „(odczyt i zapis).
Najprawdopodobniej na serwerze, na którym skopiowałeś zawartość silnika swojej witryny, na obiektach zostaną zainstalowane następujące Chmody:
właściciel (użytkownik) może zrobić wszystko, grupa i wszyscy inni mogą tylko czytać foldery i wchodzić do nich, ale nie wolno im zapisywać plików, zmieniać nazw i usuwać ich w katalogach. (rwxr-xr-x)
Gdybyś miał stronę internetową składającą się wyłącznie z HTML, to mógłbyś wszystko tak zostawić. Ale nowoczesne witryny są zbudowane na silnikach i mogą istnieć obiekty, do których trzeba zapisać w imieniu użytkowników z grupy „świat” - o (wszyscy inni). Mogą to być foldery używane do buforowania stron lub te, do których będą ładowane zdjęcia itp. podczas pracy z witryną. Jest rzeczą oczywistą, że jeśli uzyskujesz dostęp do witryny przez FTP, możesz utworzyć wpis w tych plikach lub folderach, ale pracuję z interfejsem strony internetowej, np zwykły użytkownik, możesz mieć problemy. Dlatego do instalacji niektórych Chmodów należy podchodzić selektywnie.