Wyjaśnienie uprawnień do plików i katalogów w systemie Linux

Linux jest systemem operacyjnym dla wielu użytkowników, dlatego wielu użytkowników może jednocześnie korzystać z tego samego komputera, korzystając z systemu Linux. Ponieważ system operacyjny obsługuje wielu użytkowników, ważne jest, aby Linux gwarantował bezpieczeństwo i prywatność plików należących do różnych użytkowników.

Aby to osiągnąć, Linux ma skomplikowany system zarządzania uprawnieniami do plików i katalogów. W ten sposób użytkownicy Linuksa mogą kontrolować dostęp różnych użytkowników do plików i działania, jakie mogą podejmować użytkownicy podczas korzystania z komputera.

Jako użytkownik Linuksa niezwykle ważne jest zrozumienie, w jaki sposób Linux obsługuje uprawnienia do plików i katalogów oraz w jaki sposób możesz pracować z różnymi dostępnymi uprawnieniami, aby zabezpieczyć pliki i zagwarantować funkcjonalność komputera. Aby zrozumieć, jak Linux zarządza uprawnieniami do plików i katalogów, przyjrzyjmy się najpierw różnym kategoriom użytkowników w systemie operacyjnym Linux.

Kategoria użytkowników w systemie Linux

Pierwszą kategorią użytkowników są właściciele pliku lub katalogu. Każdy plik lub katalog w systemie Linux ma jednego właściciela. Właściciel ten zwykle otrzymuje więcej uprawnień do swojego pliku lub katalogu. Właściciel pliku jest zwykle oznaczony literą u, oznaczającą użytkownika.

W systemie Linux wielu użytkowników można umieścić w grupie i nadać im uprawnienia do plików jako grupa. Są oni znani jako właściciele grup i są oznaczeni literą g.

Na przykład, jeśli masz plik z rekomendacjami książek i chcesz nadać kilku użytkownikom podobne uprawnienia do tego pliku, prostym sposobem na osiągnięcie tego jest umieszczenie użytkowników w grupie i nadanie uprawnień całej grupie.

Druga kategoria użytkowników nazywana jest innymi i jest oznaczona literą o. Są to użytkownicy, którzy nie są właścicielami pliku i nie należą do grupy mającej uprawnienia do pliku. Inne reprezentuje wszystkich pozostałych w systemie.

Wszyscy użytkownicy komputera, czyli właściciele plików, użytkownicy w grupach i inni użytkownicy, mogą określić za pomocą litery a.

Utwórz i dodaj nowego użytkownika w systemie Ubuntu Linux

Przyjrzyjmy się, jak utworzyć i dodać nowego użytkownika w systemie Ubuntu Linux. Aby kontynuować naukę w tym samouczku, utwórz także nowego użytkownika.

1. Otwórz Ustawienia i na lewym pasku menu kliknij Użytkownik, następnie kliknij Odblokuj i po wyświetleniu monitu podaj hasło. Musisz kliknąć Odblokuj, aby móc dodać nowego użytkownika. Domyślnie ta funkcjonalność jest zablokowana.

2. Po odblokowaniu zobaczysz opcję Dodaj użytkownika. Kliknij ją, aby dodać nowego użytkownika

3. Aby utworzyć nowego użytkownika, podaj jego pełne imię i nazwisko oraz nazwę użytkownika, wybierz Ustaw hasło teraz i ustaw jego hasło. Dodatkowo upewnij się, że typ konta jest ustawiony na Administrator, a następnie kliknij Dodaj, aby dodać użytkownika.

4. Powinieneś zobaczyć nowo utworzone konto użytkownika, jak pokazano poniżej.

Uprawnienia do plików i katalogów w systemie Linux

Uprawnienia odnoszą się do zasad regulujących dostęp do plików i katalogów oraz czynności, jakie mogą na nich wykonywać różni użytkownicy. Linux ma trzy główne kategorie uprawnień:

  • Odczyt (r) – umożliwia użytkownikowi przeglądanie zawartości pliku i wyświetlanie zawartości katalogu
  • Write(w) – umożliwia modyfikację zawartości pliku. W przypadku katalogów uprawnienia do zapisu umożliwiają użytkownikowi modyfikowanie zawartości katalogu, na przykład poprzez tworzenie, usuwanie, zmianę nazwy lub przenoszenie plików i podkatalogów w katalogu. Jednak uprawnienia do zapisu w katalogach działają tylko wtedy, gdy użytkownik ma również uprawnienia do wykonywania.
  • Wykonaj (x) – uprawnienia do wykonywania oznaczają, że plik może być traktowany jak program, który można wykonać. W przypadku katalogów uprawnienie do wykonywania umożliwia użytkownikowi wejście lub „cd” do katalogu.
  • Uprawnienia do odczytu, zapisu i wykonywania są przypisane trzem kategoriom użytkowników dostępnych w systemie Linux.

    Możesz także przeczytać, jak usunąć pliki i katalogi w systemie Linux

    Długa lista w systemie Linux

    Aby wyświetlić zawartość pliku w katalogu systemu Linux, zwykle uruchamiamy polecenie ls. Jednakże zawiera ona jedynie listę dostępnych plików i katalogów i nie dostarcza żadnych dodatkowych informacji.

    Aby wyświetlić więcej informacji o zawartości, musisz użyć formatu długiego zestawienia. Aby to zrobić, uruchom polecenie ls z flagą -l. To da Ci uprawnienia do pliku, właścicieli pliku i właścicieli grup do pliku, jak pokazano poniżej:

    W Ubuntu domyślnie, jeśli nie utworzono żadnej grupy, nazwa grupy jest taka sama jak nazwa właściciela pliku.

    Aby utworzyć grupę, używamy polecenia addgroup. Aby dodać grupę o nazwie redaktorzy, wykonaj następujące polecenie i po wyświetleniu monitu podaj hasło

    sudo addgroup editors

    sudo pozwala nam uruchamiać polecenia jako użytkownik root, który jest superużytkownikiem z uprawnieniami do wykonywania zmian wpływających na wszystkich użytkowników komputera.

    Aby dodać użytkowników do grupy, używamy następującej składni:

    adduser <user> <group>

    Dlatego też, aby dodać do grupy redaktorów zarówno Belmonta, jak i Madici, wykonujemy

    sudo adduser belmont editors
    sudo adduser madici editors

    Aby zobaczyć grupy, do których należy użytkownik, wykonaj:

    groups <username>

    Wynik powyższych poleceń pokazano poniżej:

    Przyjrzyjmy się teraz atrybutom plików, które mówią nam o typach plików i uprawnieniach do nich. A.

    Atrybuty plików w systemie Linux

    W Linuksie atrybuty plików składają się z dokładnie dziesięciu znaków. Pierwszy znak wskazuje typ pliku. Niektóre z typowych pierwszych znaków reprezentujących różne pliki obejmują:

    • d wskazuje katalog
    • – oznacza zwykły plik, np. pliki tekstowe
    • c oznacza specjalny plik znakowy
    • l oznacza dowiązanie symboliczne
    • b wskazuje specjalny plik bloku

    Pozostałe dziewięć znaków służy do przedstawienia uprawnień właściciela, właściciela grupy i innych użytkowników. Dziewięć postaci jest podzielonych na trzy grupy. Pierwsza grupa wskazuje uprawnienia właściciela, druga grupa wskazuje uprawnienia właściciela grupy, a trzy ostatnie wskazują uprawnienia innych, czyli każdego innego użytkownika na komputerze.

    Uprawnienia dla każdej kategorii są wskazane, zaczynając od odczytu, następnie zapisu, a na końcu uprawnienia do wykonywania. Zezwolenie na odczyt jest oznaczone literą r, zezwolenie na zapis literą w, a zezwolenie na wykonanie literą x.

    Symbol – używany jest w przypadku, gdy użytkownik nie posiada określonych uprawnień. Na przykład rw- dla właściciela grupy oznacza, że ​​ma on zarówno uprawnienia do odczytu, jak i zapisu, ale nie ma uprawnień do wykonywania w tym katalogu (d).

    Zmiana uprawnień do plików przy użyciu notacji symbolicznej

    Aby zmienić uprawnienia do pliku lub katalogu, używamy polecenia chmod i określamy, dla kogo zmieniamy uprawnienia.

    Może to być właściciel pliku oznaczony literą u dla użytkownika, właściciel grupy oznaczony literą g lub inni użytkownicy oznaczeni literą o. Możemy także kierować reklamy do wszystkich trzech kategorii użytkowników za pomocą litery a, która oznacza wszystko powyższe.

    Następną rzeczą, którą określamy, jest zmiana, którą wprowadzamy. Aby dodać pozwolenie, używamy znaku + (plus). Aby usunąć pozwolenie, używamy – (znak minus). Ostatnią rzeczą, którą zapewniamy, są uprawnienia, które dodajemy za pomocą r, w lub x, aby reprezentować trzy dostępne uprawnienia.

    Aby zobaczyć to w akcji, utwórz katalog o nazwie książki, używając poniższego polecenia

    mkdir books

    Wprowadź lub „cd” do katalogu:

    cd books

    Utwórz plik o nazwie readList.txt

    touch readingList.txt

    Wypisz długą listę zawartości katalogu książek, wykonując:

    ls -l

    Dane wyjściowe są takie, jak pokazano:

    Utworzony przez nas plik jest zwykłym plikiem, oznaczonym jako pierwszy –, właściciel i właściciel grupy mają uprawnienia do odczytu i zapisu, podczas gdy pozostali użytkownicy mają tylko uprawnienia do odczytu. Aby przyznać innym użytkownikom uprawnienia do zapisu w pliku, wykonamy następujące polecenie:

    chmod o+w readingList.txt

    Aby sprawdzić, czy uprawnienia innych użytkowników uległy zmianie, wykonaj

    ls -l

    Wyjście:

    Zauważ, że uprawnienia innych użytkowników do plików zmieniły się z r– na rw-, co oznacza, że ​​mają teraz uprawnienia do zapisu.

    Aby dodać uprawnienia do wykonywania właścicielowi (użytkownikowi) pliku, wykonaj:

    chmod u+x readingList.txt

    Aby usunąć uprawnienia do zapisu właścicielom grupy, wykonaj:

    chmod g-w readingList.txt

    Aby usunąć uprawnienia do odczytu wszystkim użytkownikom i nikt nie będzie mógł przeglądać pliku, wykonaj:

    chmod a-r readingList.txt

    Aby dodać uprawnienia do odczytu wstecznego dla właściciela pliku, wykonaj:

    chmod u+r readingList.txt

    Aby dodać uprawnienia do zapisu i wykonywania dla właściciela grupy pliku, wykonaj:

    chomod g+wx readingList.txt

    Zmiana uprawnień przy użyciu notacji ósemkowej

    W systemie Linux każde z trzech dostępnych uprawnień ma tylko dwie możliwe wartości. Uprawnienia do odczytu mogą mieć tylko r lub –, uprawnienia do zapisu mogą mieć tylko w lub –, a uprawnienia do wykonywania mogą mieć tylko x lub –.

    Dlatego uprawnienia te można uznać za włączone lub wyłączone i dlatego można je przedstawić za pomocą liczb binarnych, które mają tylko dwie dostępne wartości. To jest 1 dla włączonego lub prawdziwego i 0 dla wyłączonego lub fałszywego. Tam uprawnienie takie jak rw– można przedstawić jako 110 za pomocą liczb binarnych.

    Zatem dla dowolnej kategorii użytkowników wystarczą trzy liczby binarne, aby przedstawić wszystkie ich uprawnienia. Na przykład uprawnienia właściciela, grupy i innego rwxrw-r– można przedstawić jako 111110100 przy użyciu liczby binarnej.

    Aby jednak uniknąć zapisywania liczb binarnych, które są długie i łatwo mylące, lepszą alternatywą jest użycie liczb ósemkowych.

    Liczby ósemkowe mają podstawę 8 i dlatego mają tylko 8 możliwych wartości. Każda liczba ósemkowa odpowiada dokładnie trzem cyfrom binarnym.

    Dlatego uprawnienie takie jak rw- można przedstawić binarnie jako 110. Oktalny odpowiednik liczby 110 wynosi 6, a zatem 6 może być użyte do przedstawienia rw-. Liczb ósemkowych można używać do reprezentowania uprawnień do odczytu, zapisu i wykonywania przysługujących właścicielowi, grupie i innym osobom, jak pokazano poniżej:

    Zamiast zapisywać długie cyfry binarne, lepiej jest przedstawić uprawnienia za pomocą liczb ósemkowych. Dlatego wszystkie uprawnienia właściciela, grupy i innych osób są reprezentowane za pomocą pojedynczych liczb ósemkowych, jak pokazano na powyższym diagramie.

    Zaletą stosowania notacji ósemkowej do ustawiania uprawnień jest to, że pozwala ona na ustawienie uprawnień dla wszystkich użytkowników jednocześnie, w przeciwieństwie do notacji symbolicznej, gdzie w danym momencie można ustawić uprawnienia tylko dla jednego użytkownika.

    Jednak używanie notacji ósemkowej wymaga trochę czasu i praktyki, aby móc zapamiętać, do czego prowadzi każda liczba ósemkowa. To powiedziawszy, zawsze, gdy używasz notacji ósemkowej, możesz odwołać się do powyższego diagramu. Przyjrzyjmy się kilku przykładom zmiany uprawnień przy użyciu notacji ósemkowej

    Aby dać wszystkim użytkownikom, czyli właścicielowi, właścicielowi grupy i innym użytkownikom, uprawnienia do odczytu, zapisu i wykonywania pliku readList.txt, wykonaj:

    chmod 777 readingList.txt

    Aby sprawdzić, czy uprawnienia zostały zmienione, wykonaj:

    ls -l

    Wyjście:

    total 0
    -rwxrwxrwx 1 madici madici 0 Sep  6 05:45 readingList.txt

    Zauważ, że teraz właściciel, grupa i inni użytkownicy mają uprawnienia do odczytu, zapisu i wykonywania pliku ReadList.txt.

    Aby usunąć uprawnienia do zapisu zarówno właścicielowi grupy, jak i innym osobom, wykonaj:

    chmod 755 readingList.txt

    Aby usunąć uprawnienia do wykonywania od właściciela i innych osób:

    chmod 654 readingList.txt

    Specjalne uprawnienia w systemie Linux

    Linux ma trzy specjalne uprawnienia, które można zastosować do plików i katalogów oprócz standardowych uprawnień do odczytu, zapisu i wykonywania. Uprawnienia te zapewniają zaawansowaną funkcjonalność kontroli dostępu i umożliwiają użytkownikom z mniejszymi uprawnieniami wykonywanie plików i poleceń z wyższymi uprawnieniami, tak jak właściciel pliku lub właściciel grupy.

    Specjalne uprawnienia obejmują:

    • Ustaw identyfikator użytkownika (SUID) – uprawnienie SUID pozwala użytkownikowi na uruchomienie pliku lub programu z uprawnieniami właściciela, a nie użytkownika wykonującego ten plik. Jest to przydatne, gdy zwykli użytkownicy muszą wykonywać zadania wymagające podwyższonych uprawnień.
    • Ustaw identyfikator grupy (SGID) – uprawnienie SGID pozwala użytkownikowi na wykonanie pliku z uprawnieniami właściciela pliku, a nie z uprawnieniami jego rzeczywistej grupy.
    • Sticky Bit – Sticky Bit to zezwolenie zwykle przyznawane katalogom, które zapewnia, że ​​pliki w katalogu mogą zostać usunięte tylko przez faktycznego właściciela katalogu, właściciela tego konkretnego pliku lub użytkownika root.

    Oprócz standardowych uprawnień można używać trzech uprawnień specjalnych: odczytu, zapisu i wykonywania.

    Wniosek

    Uprawnienia są ważną koncepcją w systemie Linux, nawet jeśli na komputerze nie ma wielu użytkowników. Zrozumienie uprawnień jest ważne dla zapewnienia kontroli, bezpieczeństwa i prywatności danych przechowywanych w systemie Linux i jego funkcjonalności. Dlatego rozważ zapoznanie się z uprawnieniami, przećwicząc wiedzę o uprawnieniach z tego artykułu.

    Możesz także dowiedzieć się, jak używać poleceń systemu Linux w systemie Windows.