Ilu z nas musiało „ograniczyć dostęp” do plików zawartych w określonym katalogu / folderze lub po prostu musimy uniemożliwić niektórym osobom przeglądanie, usuwanie lub modyfikowanie zawartości określonego pliku? Więcej niż jeden, prawda? Czy możemy to osiągnąć u naszego ukochanego pingwina? Odpowiedź to: Oczywiście, że tak : D.
Wprowadzenie
Wielu z nas, którzy wywodzą się z systemu Windows, przywykło do radzenia sobie z tym „problemem” w zupełnie inny sposób, aby osiągnąć ten cel, musieliśmy uciekać się do niekonwencjonalnych „technik”, takich jak ukrywanie pliku za pomocą jego atrybutów, przenoszenie informacji do najodleglejsze miejsce naszego zespołu (w obrębie 20,000 XNUMX folderów), aby spróbować odwieść naszego „wroga” XD, zmieniając lub eliminując rozszerzenie pliku lub najczęstsze praktyki, pobrać program, który pozwoli nam „zamknąć” nasz katalog za ładnym oknem dialogowym, które prosi nas o hasło, aby uzyskać do niego dostęp. Mieliśmy znacznie lepszą alternatywę? Nie.
Bardzo mi przykro z powodu moich znajomych z "Windolero" (mówię to z wielką sympatią, żeby nikogo nie urazić, ok ?;)), ale dziś muszę się trochę nauczyć Windows: P, skoro wyjaśnię dlaczego to System operacyjny nie pozwala na natywne tej funkcji.
Ilu z was zauważyło, że kiedy siedzimy za komputerem „Windows” (nawet jeśli nie jest to nasz), automatycznie stajemy się właścicielami wszystkiego, co zawiera komputer (obrazy, dokumenty, programy itp.)? Co mam na myśli? Cóż, po prostu przejmując „kontrolę nad systemem Windows”, możemy kopiować, przenosić, usuwać, tworzyć, otwierać lub modyfikować foldery i pliki z lewej i prawej strony, niezależnie od tego, czy jesteśmy „właścicielami” tych informacji, czy nie. Odzwierciedla to poważną lukę w zabezpieczeniach systemu operacyjnego, prawda? Cóż, to wszystko dlatego, że systemy operacyjne Microsoftu nie zostały zaprojektowane od podstaw do obsługi wielu użytkowników. Kiedy pojawiły się wersje MS-DOS i niektóre wersje Windowsa, w pełni ufali, że użytkownik końcowy będzie odpowiedzialny za „ochronę” swojego komputera, tak aby żaden inny użytkownik nie miał dostępu do przechowywanych w nim informacji ... idź naiwnie ¬ ¬. Teraz przyjaciele WinUsers, już wiecie, dlaczego istnieje ta „tajemnica”: D.
Z drugiej strony, GNU / Linux, będąc systemem zaprojektowanym zasadniczo do pracy w sieci, bezpieczeństwo informacji, które przechowujemy na naszych komputerach (nie wspominając o serwerach) jest niezbędne, ponieważ wielu użytkowników będzie miało lub może mieć dostęp do części zasobów oprogramowania (aplikacji i informacji) oraz sprzętu zarządzanego na tych komputerach.
Teraz możemy zobaczyć, dlaczego potrzebny jest system pozwoleń? Zagłębmy się w temat;).
W systemie GNU / Linux uprawnienia lub prawa, które użytkownicy mogą mieć do określonych plików w nim zawartych, są ustalane na trzech wyraźnie zróżnicowanych poziomach. Te trzy poziomy są następujące:
<° Zezwolenia właściciela.
<° Uprawnienia grupowe.
<° Uprawnienia pozostałych użytkowników (zwanych także „innymi”).
Aby mieć jasność co do tych pojęć, w systemach sieciowych (takich jak pingwin) zawsze występuje postać administratora, superużytkownika lub roota. Ten administrator jest odpowiedzialny za tworzenie i usuwanie użytkowników, a także ustalanie uprawnień, które każdy z nich będzie miał w systemie. Te uprawnienia są ustanawiane zarówno dla katalogu HOME każdego użytkownika, jak i dla katalogów i plików, do których administrator zdecyduje, że użytkownik ma dostęp.
Uprawnienia właściciela
Właściciel to użytkownik, który generuje lub tworzy plik / folder w swoim katalogu roboczym (HOME) lub w innym katalogu, do którego ma uprawnienia. Każdy użytkownik może domyślnie tworzyć żądane pliki w swoim katalogu roboczym. W zasadzie to on i tylko on będzie miał dostęp do informacji zawartych w plikach i katalogach w swoim katalogu HOME.
Uprawnienia grupowe
Najbardziej normalne jest to, że każdy użytkownik należy do grupy roboczej. W ten sposób podczas zarządzania grupą zarządzani są wszyscy użytkownicy, którzy do niej należą. Innymi słowy, łatwiej jest zintegrować kilku użytkowników w grupę, którym nadano określone uprawnienia w systemie, niż przypisać uprawnienia niezależnie każdemu użytkownikowi.
Uprawnienia pozostałych użytkowników
Wreszcie, uprawnienia do plików zawartych w dowolnym katalogu mogą mieć również inni użytkownicy, którzy nie należą do grupy roboczej, w której dany plik jest zintegrowany. Innymi słowy, użytkownicy, którzy nie należą do grupy roboczej, w której znajduje się plik, ale należą do innych grup roboczych, nazywani są innymi użytkownikami systemu.
Bardzo ładnie, ale jak mogę to wszystko zidentyfikować? Proste, otwórz terminal i wykonaj następujące czynności:
$ ls -l
Uwaga: Są to małe litery „L”
Pojawi się mniej więcej tak:
Jak widać, polecenie to wyświetla lub „wyświetla” zawartość mojego HOME, mamy do czynienia z czerwoną i zieloną linią. Czerwone pole pokazuje nam, kto jest właścicielem, a zielone pole wskazuje, do której grupy należy każdy z wymienionych powyżej plików i folderów. W tym przypadku zarówno właściciel, jak i grupa nazywani są „Perseuszem”, ale równie dobrze mogli napotkać inną grupę, na przykład „sprzedaż”. Co do reszty, na razie nie martw się, zobaczymy później: D.
Rodzaje uprawnień w systemie GNU / Linux
Zanim dowiemy się, jak ustawiane są uprawnienia w systemie GNU / Linux, musimy wiedzieć, jak można rozróżnić różne typy plików, które może mieć system.
Każdy plik w systemie GNU / Linux jest identyfikowany za pomocą 10 nazwanych znaków maskować. Z tych 10 znaków pierwszy (od lewej do prawej) odnosi się do typu pliku. Kolejne 9, od lewej do prawej i w blokach po 3, odnosi się do uprawnień, które są przyznane odpowiednio właścicielowi, grupie i reszcie lub innym. Zrzut ekranu pokazujący wszystkie te rzeczy:
Pierwszym znakiem plików może być:
| Przepraszam | Zidentyfikuj |
| - | Archiwum |
| d | informator |
| b | Plik bloku specjalnego (pliki specjalne urządzenia) |
| c | Plik znaków specjalnych (urządzenie tty, drukarka ...) |
| l | Plik łącza lub łącze (łącze programowe / symboliczne) |
| p | Plik specjalny kanału (rura lub rura) |
Kolejnych dziewięć znaków to uprawnienia nadane użytkownikom systemu. Co trzy znaki odnoszą się do uprawnień właściciela, grupy i innych użytkowników.
Znaki definiujące te uprawnienia to:
| Przepraszam | Zidentyfikuj |
| - | Bez pozwolenia |
| r | Czytaj pozwolenie |
| w | Napisz pozwolenie |
| x | Pozwolenie na wykonanie |
Uprawnienia do plików
<° Czytanie: w zasadzie umożliwia przeglądanie zawartości pliku.
<° Napisz: zmodyfikuj zawartość pliku.
<° Wykonanie: umożliwia wykonanie pliku tak, jakby był programem wykonywalnym.
Uprawnienia do katalogu
<° Odczyt: umożliwia sprawdzenie, jakie pliki i katalogi zawiera katalog z tym uprawnieniem.
<° Write: umożliwia tworzenie plików w katalogu, zwykłych plików lub nowych katalogów. Katalogi można usuwać, pliki kopiować do katalogu, przenosić, zmieniać ich nazwy itp.
<° Wykonanie: umożliwia przejście do katalogu, aby móc sprawdzić jego zawartość, skopiować pliki z lub do niego. Jeśli masz również uprawnienia do odczytu i zapisu, możesz wykonywać wszystkie możliwe operacje na plikach i katalogach.
Uwaga: Jeśli nie masz uprawnień do wykonywania, nie będziemy mogli uzyskać dostępu do tego katalogu (nawet jeśli użyjemy polecenia "cd"), ponieważ ta akcja zostanie odrzucona. Pozwala również na rozgraniczenie użycia katalogu jako części ścieżki (tak jak gdy podajemy ścieżkę do pliku znalezionego w tym katalogu jako odniesienie. Przypuśćmy, że chcemy skopiować plik "X.ogg" znajdujący się w folderze „/ home / perseo / Z” - dla którego folder „Z” nie ma uprawnień do wykonywania - wykonalibyśmy następujące czynności:
$ cp /home/perseo/Z/X.ogg /home/perseo/Y/
uzyskanie przez to komunikatu o błędzie informującego nas, że nie mamy wystarczających uprawnień dostępu do pliku: D). Jeśli zezwolenie na wykonywanie katalogu zostanie dezaktywowane, będziesz mógł zobaczyć jego zawartość (jeśli masz uprawnienia do odczytu), ale nie będziesz mieć dostępu do żadnego z zawartych w nim obiektów, ponieważ ten katalog jest częścią niezbędnego ścieżkę do ustalenia położenia obiektów.
Zarządzanie uprawnieniami w systemie GNU / Linux
Do tej pory widzieliśmy, jakie są uprawnienia w systemie GNU / Linux, poniżej zobaczymy, jak przypisywać lub odejmować uprawnienia lub prawa.
Przed rozpoczęciem musimy pamiętać, że rejestrując lub tworząc użytkownika w systemie, automatycznie przyznajemy mu uprawnienia. Te uprawnienia oczywiście nie będą całkowite, co oznacza, że użytkownicy zwykle nie będą mieli takich samych uprawnień i praw jak superużytkownik. Po utworzeniu użytkownika system domyślnie generuje uprawnienia użytkownika do zarządzania plikami i katalogami. Oczywiście administrator może je modyfikować, ale system generuje mniej lub bardziej ważne uprawnienia dla większości operacji, które każdy użytkownik będzie wykonywał na swoim katalogu, swoich plikach oraz na katalogach i plikach innych użytkowników. Są to zazwyczaj następujące uprawnienia:
<° Dla plików: - rw-p-- r--
<° W przypadku katalogów: - rwx rwx rwx
Uwaga: nie są to te same uprawnienia dla wszystkich dystrybucji GNU / Linuksa.
Te uprawnienia pozwalają nam tworzyć, kopiować i usuwać pliki, tworzyć nowe katalogi itp. Zobaczmy to wszystko w praktyce: D:
Weźmy jako przykład plik „Advanced CSS.pdf”. Zauważ, że wygląda to następująco: -rw-p--r-- … Advanced CSS.pdf. Przyjrzyjmy się bliżej.
| Rynek | użytkownik | Grupa | Reszta użytkowników (inni) | Nazwa pliku |
| - | rw- | r-- | r-- | Zaawansowany CSS.pdf |
To znaczy że:
<° Typ: Archiwum
<° Użytkownik może: Przeczytaj (wyświetl zawartość) i zapisz (zmodyfikuj) plik.
<° Grupa, do której należy użytkownik, może: Czytaj (tylko) plik.
<° Inni użytkownicy mogą: Czytaj (tylko) plik.
Dla ciekawskich, którzy w tej chwili zastanawiają się, do czego odnoszą się pozostałe pola listy uzyskanej przez ls -l, oto odpowiedź:
Jeśli chcesz dowiedzieć się więcej o dowiązaniach twardych i miękkich / symbolicznych, oto wyjaśnienie i ich diferencias.
Cóż, przyjaciele, dochodzimy do najciekawszej i najcięższej części omawianego tematu ...
Przypisanie uprawnień
Polecenie chmod ("Zmień tryb") pozwala na modyfikację maski tak, aby mniej lub więcej operacji mogło być wykonywanych na plikach lub katalogach, innymi słowy, za pomocą chmod możesz usunąć lub odebrać uprawnienia dla każdego typu użytkownika. Jeśli nie jest określony typ użytkownika, któremu chcemy usunąć, ustawić lub przypisać uprawnienia, to co się stanie podczas wykonywania operacji będzie miało wpływ na wszystkich użytkowników jednocześnie.
Podstawową rzeczą do zapamiętania jest to, że udzielamy lub usuwamy uprawnienia na tych poziomach:
| Parametr | Poziom | opis |
| u | właściciel | właściciel pliku lub katalogu |
| g | grupa | grupa, do której należy plik |
| o | inni | wszyscy inni użytkownicy, którzy nie są właścicielem ani grupą |
Rodzaje uprawnień:
| Przepraszam | Zidentyfikuj |
| r | Czytaj pozwolenie |
| w | Napisz pozwolenie |
| x | Pozwolenie na wykonanie |
Daj właścicielowi pozwolenie na wykonanie:
$ chmod u+x komodo.sh
Usuń uprawnienia do wykonywania wszystkim użytkownikom:
$ chmod -x komodo.sh
Nadaj uprawnienia do odczytu i zapisu innym użytkownikom:
$ chmod o+r+w komodo.sh
Pozostaw tylko uprawnienia do odczytu grupie, do której należy plik:
$ chmod g+r-w-x komodo.sh
Uprawnienia w ósemkowym formacie liczbowym
Istnieje inny sposób użycia polecenia chmod, który dla wielu użytkowników jest „wygodniejszy”, chociaż a priori jego zrozumienie jest nieco bardziej skomplikowane ¬¬.
Połączenie wartości każdej grupy użytkowników tworzy liczbę ósemkową, bit „x” to 20, czyli 1, bit w to 21, czyli 2, bit r to 22, czyli 4, mamy wtedy:
<° r = 4
<° w = 2
<° x = 1
Połączenie bitów włączonych lub wyłączonych w każdej grupie daje osiem możliwych kombinacji wartości, czyli sumę bitów włączonych:
| Przepraszam | Wartość ósemkowa | opis |
| - - - | 0 | nie masz żadnych uprawnień |
| - - x | 1 | tylko uprawnienia do wykonywania |
| - w - | 2 | tylko prawo do zapisu |
| - wx | 3 | uprawnienia do zapisu i wykonywania |
| r - - | 4 | tylko do odczytu |
| r - x | 5 | uprawnienia do odczytu i wykonywania |
| rw - | 6 | uprawnienia do odczytu i zapisu |
| rwx | 7 | wszystkie uprawnienia ustawione, odczyt, zapis i wykonanie |
Po połączeniu uprawnień użytkownika, grupy i innych uprawnień uzyskuje się trzycyfrową liczbę, która tworzy uprawnienia do pliku lub katalogu. Przykłady:
| Przepraszam | Dzielność | opis |
| rw- --- -- | 600 | Właściciel ma uprawnienia do odczytu i zapisu |
| rwx --x --x | 711 | Właściciel czyta, zapisuje i wykonuje, grupa i inni tylko wykonują |
| rwx rx rx | 755 | Odczyt, zapis i wykonanie, właściciel, grupa i inne osoby mogą odczytać i wykonać plik |
| rwx rwx rwx | 777 | Plik może być czytany, zapisywany i wykonywany przez każdego |
| r-- --- -- | 400 | Tylko właściciel może odczytać plik, ale nie może go modyfikować ani uruchamiać i oczywiście ani grupa, ani inni nie mogą nic na nim zrobić. |
| rw-p-- --- | 640 | Właściciel może czytać i pisać, grupa może czytać plik, a inni nie mogą nic zrobić |
Specjalne uprawnienia
Do rozważenia są jeszcze inne rodzaje zezwoleń. Są to bit uprawnień SUID (Set User ID), bit uprawnień SGID (Set Group ID) i sticky bit (Sticky bit).
setuid
Bit setuid jest przypisywany do plików wykonywalnych i pozwala na to, że gdy użytkownik wykonuje wspomniany plik, proces uzyskuje uprawnienia właściciela wykonywanego pliku. Najbardziej przejrzystym przykładem pliku wykonywalnego z bitem setuid jest:
$ su
Widzimy, że bit jest przypisany jako „s” w następującym przechwyceniu:
Aby przypisać ten bit do pliku, byłoby:
$ chmod u+s /bin/su
Aby go usunąć:
$ chmod u-s /bin/su
Uwaga: Musimy używać tego bitu z najwyższą ostrożnością, ponieważ może to spowodować eskalację przywilejów w naszym systemie ¬¬.
setgid
Bit setid pozwala na nabycie uprawnień grupy przypisanej do pliku, można go również przypisać do katalogów. Będzie to bardzo przydatne, gdy kilku użytkowników z tej samej grupy będzie musiało pracować z zasobami w tym samym katalogu.
Aby przypisać ten bit, wykonujemy następujące czynności:
$ chmod g+s /carpeta_compartida
Aby go usunąć:
$ chmod g-s /carpeta_compartida
lepki
Ten bit jest zwykle przypisywany w katalogach, do których mają dostęp wszyscy użytkownicy i pozwala zapobiec usunięciu przez użytkownika plików / katalogów innego użytkownika w tym katalogu, ponieważ wszyscy mają uprawnienia do zapisu.
Widzimy, że bit jest przypisany jako „t” w następującym przechwyceniu:
Aby przypisać ten bit, wykonujemy następujące czynności:
$ chmod o+t /tmp
Aby go usunąć:
$ chmod o-t /tmp
Cóż, przyjaciele, teraz już wiesz, jak lepiej chronić swoje informacje, mam nadzieję, że dzięki temu przestaniesz szukać alternatyw Folder Blokada o Zabezpieczenie folderów że w GNU / Linuksie wcale ich nie potrzebujemy XD.
P.S: Ten konkretny artykuł został zamówiony przez sąsiada kuzyna znajomego XD, mam nadzieję, że odpowiedziałem na Twoje pytania...