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ń:
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.