Postawy administracji systemu Linux
W ostatnich latach coraz częściej się zdarza, że użytkownik zwykłego komputera staje się jego administratorem, oczywiście mówię o użytkowniku Linuksa. Prawdopodobnie sami zainstalowaliśmy system i sami musimy go skonfigurować itd. Co prawda niniejszy artykuł nie omawia samej konfiguracji systemu (instalacja sterowników itp.) ale ma uzmysłowić przed jakim zadaniem stoi mniej więcej administrator - w naszym przypadku to właśnie my nim jesteśmy.
I Konta użytkowników.
Zaraz po instalacji systemu powinniśmy utworzyć swoje własne (zwykłe) konto. Oczywiście wtedy, gdy nie zrobiliśmy tego podczas instalacji. Nie zaleca się używać konta root do codziennej pracy. Wynika to z faktu, że konto root ma za dużą władzę, np. nie potrzebujemy konta root do oglądania filmów, słuchania muzyki itd. Konto root służy do zadań administracyjnych, a nie do zabawy. Jeżeli nie znasz dobrze Linuksa to może Cię zdarzyć, że niechcący coś zepsujesz i może się to skończyć ponowną instalacją systemu. Wróćmy jednak do tworzenia kont. Konto można utworzyć na kilka sposobów. Jednym z nich jest wydanie w wierszu poleceń komendy useradd. Przykładowo:
# useradd wiedzmin
Teraz w systemie mamy nowego użytkownika. Innym sposobem jest edycja pliku /etc/passwd. Jednak nie polecam tego sposobu początkującym użytkownikom. Plik /etc/passwd składa się z 7 pól oddzielonych od siebie znakami ":". Pierwsze pole oznacza nazwę użytkownika, drugie - miejsce na hasło, trzecie - identyfikator, czwarte - grupa do jakiej jest user przypisany, piąte - imię i nazwisko usera, szóste - katalog domowy i siódme - powłoka. A teraz zobaczmy jak to wygląda w praktyce:
wiedzmin:x:100:100:Debian Fanatic User:/home/wiedzmin:/bin/bash
Konto jest już gotowe. Następnym krokiem będzie skopiowanie zawartości katalogu /etc/skel do katalogu domowego użytkownika. Na koniec definiujemy hasło za pomocą polecenia passwd, np.:
# passwd wiedzmin
Polecenie passwd może wydać także zwykły user, ale będzie mógł on zmienić hasło tylko swojego konta. Konto jest już teraz w pełni gotowe do pracy. Wystarczy się zalogować.
Utworzyliśmy konto, jednak po jakimś czasie staje się ono niepotrzebne. Np. utworzyliśmy konto siostrze i po jakimś czasie stwierdziliśmy, że ona wcale go nie używa. Konto usuwamy w następujący sposób:
# userdel nazwa_konta
Teraz musimy skasować katalog domowy danego konta i to wszystko. Możemy też usunąć wpis w pliku /etc/passwd, ale userdel spełnia zadanie bardzo dobrze.
II Grupy.
Każdy plik/katalog w systemie ma określonego właściciela i grupę. Można to bardzo łatwo sprawdzić wydając polecenie ls -l, np.:
# ls -l /home
drwxrwsr-x 2 root users 1024 gru 17 19:40 home
Jak widać właścicielem katalogu /home jest root, natomiast katalog /home należy do grupy users. Grupy tworzymy za pomocą polecenia groupadd, np.:
# groupadd nazwa_grupy
Ewentualnie możemy zrobić to edytując plik /etc/group. W pliku tym informacje o grupach umieszczone są w następujący sposób: nazwa grupy:hasło:numer identyfikacyjny grupy:użytkownik przypisany do grupy. Przykładowo:
wiedzmin:x:100
Aby usunąć daną grupę należy posłużyć się poleceniem groupdel:
# groupdel nazwa_grupy
Można też usunąć wpis w pliku /etc/group. Przy usuwaniu powinniśmy uważać czy nie usuniemy grupy, do której jest przypisany jakiś użytkownik. Jeżeli dany użytkownik należy do kilku grup zawsze może zmienić aktualną grupę na tą, której aktualnie potrzebuje. Żeby sprawdzić do jakich grup należy użytkownik wydajemy polecenie groups. Aby zmienić aktualną grupę na inną wydajemy polecenie newgrp.
Wiemy już nie co o grupach, ale co zrobić aby dodać użytkownika do danej grupy? Np. u mnie nie mogłem zwykłym użytkownikiem słuchać muzyki, uruchomić X-Chata. Musiałem użytkownika wiedzmin przypisać do dodatkowych grup. Aby dodać użytkownika do danej grupy musimy wyedytować plik /etc/group. Następnie dopisujemy użytkownika do danej grupy w następujący sposób. Po znaku dwukropka dopisujemy nazwę użytkownika. Jeżeli chcemy do jednej grupy dopisać więcej niż jednego usera musimy postawić przecinki, ale po znaku przecinka nie można zrobić odstępu. Np.
audio:x:105:wiedzmin,geralt,ktos_tam_jeszcze
Natomiast jeżeli chcemy kogoś usunąć z danej grupy wystarczy, że usuniemy odpowiedni wpis w pliku /etc/group.
III Prawa dostępu.
Polecenie chown - służy ono do nadawania właściciela pliku/katalogu. Można również nadać grupę. Np:
# chown właściciel nazwa_pliku
Jeżeli chcemy nadać również grupę:
# chown właściciel.grupa nazwa_pliku
Polecenie chgrp - służy do nadawania grupy pliku/katalogu. Jednak raczej rzadko używa się tego polecenia, ponieważ można przypisać plikowi grupę za pomocą polecenia chown.
# chgrp grupa nazwa_pliku
Polecenie chmod - służy do nadawania praw dostępu do pliku/katalogu. Każdy plik/katalog jest podzielony na 3 części (jeżeli chodzi o prawa dostępu). Żeby to sprawdzić wpiszmy w wierszu poleceń komendę ls -l. Oto przykładowy wynik jego działania:
drwxr-xr-x 2 wiedzmin wiedzmin 1024 gru 28 13:33 texty
W tym przypadku skupmy się na drwxr-xr-x. Z tego komunikatu dowiadujemy się, że texty jest katalogiem - d, właściciel ma prawo do odczytu - r, zapisu - w i wykonywania - x. Grupa i pozostali użytkownicy mają prawo do odczytu i wykonywania. Przejdźmy teraz do bardziej szczegółowego omówienia tego tematu.
-rwxrwxrwx
| \ | / \ | / \ | /
0 1 2 3
0 - ta informacja mówi nam czy mamy do czynienia z plikiem czy z katalogiem,
1 - prawa dostępu dla właściciela,
2 - prawa dostępu dla grupy,
3 - prawa dostępu dla pozostałych użytkowników.
Teraz wyjaśnię co oznaczają poszczególne litery:
r - prawo do czytania,
w - prawo do zapisu,
x - prawo do wykonywania.
Ustawić prawa można na dwa sposoby. Pierwszym z nich jest:
# chmod +r plik
Nadaliśmy plikowi - plik prawo do odczytu. Jeżeli te prawo chcemy usunąć to wystarczy, że zamiast plusa wstawimy znak "-".
Nadawanie praw dostępu za pomocą liczb ósemkowych.
0 - brak jakichkolwiek uprawnień,
1 - --x,
2 - -w-,
3 - -wx,
4 - r--,
5 - r-x,
6 - rw-,
7 - rwx.
Jeżeli chcemy teraz nadać prawa dostępu do jakiegoś pliku wystarczy, że użyjemy polecenia chmod, np.:
# chmod 700 plik
Teraz plik otrzymał następujące prawa dostępu: rwx------. Oznacza to, że nikt po za właścicielem nie będzie mógł go wykonać, czytać czy modyfikować go.
IV Polecenie su.
Może się zdarzyć, że podczas codziennej pracy nagle będziemy potrzebowali władzy jaką dysponuje konto root. W tym celu nie musimy na nowo logować się jako superużytkownik. Wystarczy w wierszu poleceń wpisać su root. Następnie będziemy proszeni o podanie hasła dla wyżej wymienionego konta. Np.:
$ su root
Jeżeli chcemy wywołać użytkownika root z jego ustawieniami powłoki:
$ su - root
V Pakiet sudo.
Jeżeli jesteśmy administratorem jakiejś sieci i chcemy aby część obowiązków przejmą za nas ktoś inny to z pomocą przyjdzie nam pakiet sudo. Jeżeli nie ma w naszym systemie tego pakietu powinniśmy go zainstalować. Jednak gdy nie mamy sieci bez pakietu sudo można się spokojnie obejść.
Pakiet sudo umożliwia administratorowi precyzyjne określenie listy użytkowników i poleceń, które mogą być wykorzystywane przez administratora. To bardzo upraszcza nam życie, zwłaszcza gdy tamy tych obowiązków za dużo. Informacje te umieszczone są z pliku /etc/sudores.
Plik /etc/sudores podzielony jest na kilka części: * komendy, które mogą uruchamiać użytkownicy pakietu sudo, * nazwy umowne (aliasy) komputerów, grupy sieciowe, adresy IP i sieci, * pseudonimy (aliasy) użytkowników, * dane dotyczące użytkowników, w tym rodzaje używanych przez nich komputerów, numery IP, lista autoryzowanych użytkowników, informacja o tym, pod którego użytkownika "podszyje się" użytkownik pakietu sudo (zazwyczaj jest to root).
VI Podsumowanie.
Informacje zawarte w niniejszym artykule to tylko podstawy jakie powinien znać każdy początkujący administrator! Znajomość tworzenia kont, grup itd. to dopiero początek, z biegiem czasu będziesz stawał na coraz to innych zadaniach. Chyba, że Linuksa traktujesz jako zwykłą stację roboczą, w takim wypadku informacje tu zawarte są chyba wystarczające.
Praca pochodzi z serwisu www.e-sciagi.pl