Linux


Użytkownicy i grupy w Linuksie

Ponieważ Linux jest systemem przeznaczonym głównie do pracy w sieciach, zastosowano w nim konieczny podział na użytkowników i grupy. Pierwszym i najważniejszym użytkownikiem w systemie jest root. Posiada on nieograniczone uprawnienia w systemie (stąd słynne powiedzenie: "Root or God - what's a difference?" - z ang. dosł. root czy Bóg - co za różnica?).

Konto administratora tworzone jest podczas instalacji systemu. Tworzenie innych kont nie jest wymagane, ale mocno zalecane. Istnieje przekonanie, że nie powinno się przesiadywać cały czas na koncie roota, gdyż ma to poważne znaczenie dla bezpieczeństwa systemu (zarówno wewnętrznego, jak i zewnętrznego).Powinno być używane wyłącznie do zadań wymagających maksymalnych uprawnień (administracja systemem).

Zatem nawet jeśli do Twojego komputera dostęp masz tylko Ty to i tak powinieneś utwórzyć konto dla zwykłego użytkownika - dla siebie.

Grupy tworzone są dla użytkowników charakteryzujących się daną cechą. Dzięki grupom możliwe jest ustalenie uprawnień dla większego grona użytkowników jednocześnie - nie zaś każdemu indywidualnie.

Grupy przydają się na komputerach, do których dostęp mają użytkownicy z zewnątrz (szkoły, kafejki, konta shell) - podział może np. wyróżniać użytkowników domowych i "zewnętrznych".

Pliki użytkowników i grup

W Linuksie istnieją trzy standardowe pliki odnoszące się kolejno do użytkowników, grup i haseł.

Pierwszy z nich to /etc/passwd. Kiedyś przechowywano w nim hasła (ang. password), teraz umieszcza się tam informacje m.in. o użytkownikach. Dane przechowywane są w postaci rekordów.

Poniżej znajduje się format wpisu:

użytkownik:hasło:nr_id:nr_gid:nazwa_grupy:/home/użytkownik:/bin/bash

Pierwsza jest nazwa użytkownika, później znajduje się pole dla hasła (zwykle jest tam tylko x). Następny jest numer id użytkownika i numer id grupy (identyfikator w systemie). Następnie katalog domowy użytkownika (zwykle /home/nazwa_użytkownika), a na końcu ścieżka do interpretera poleceń (w tym wypadku powłoka bash - z angielska: walić - w klawisze oczywiście).

Plik odnoszący się do grup to /etc/group - znajdują się w nim informacje o grupach w następującym formacie:

nazwa_grupy:hasło:id_grupy:użytkowni1,użytkownik2

Hasło odnosi się oczywiście do grupy (nie do użytkowników). Tutaj chyba nie trzeba nic wyjaśniać.

Ostatnim plikiem, którego wnętrze należy omówić to /etc/shadow - gdzie przechowywane są m.in. zaszyfrowane hasła.

A oto i format zapisywania rekordów:

użytkownik:zaszyfrowane_hasło:d_1:d_2:d_3:d_4:d_5:d_6:

Kolejno możemy wymienić (od lewej): nazwę użytkownika - wiadomo, zaszyfrowane_hasło - np. w systemie md5 lub des, następne pola to daty:

Pole Opis
d_1 data ostatniej zmiany hasła (liczona w dniach od początku epoki Uniksa)
d_2 liczba dni od ostatniej zmiany hasła, po których hasło może być zmienione ponownie
d_3 liczba dni od ostatniej zmiany hasła, po których musi nastąpić zmiana hasła
d_4 liczba dni przed wygaśnięciem hasła (o czym użytkownik jest ostrzegany)
d_5 liczba dni po wygaśnięciu hasła
d_6 data wyłączenia konta liczona w dniach (od początku epoki Uniksa)

Unix i jego epoka

Początek epoki Uniksa (ang. Unix epoch) jest datowany na 1 stycznia 1970 roku, godziny 00:00:00 (czasu GMT). Jest to przedział czasu od początku istnienia systemu Unix. Czas epoki Uniksa jest ograniczony zakresem dodatniej 32-bitowej liczby sekund, która wynosi 2 147 483 647 (czyli 231 - 1).

Koniec epoki Uniksa ma nastąpić 19 stycznia 2038 o godzinie 03:14:07 (GMT). Liczba sekund, która upłynęła od początku epoki nazywa się uniksowym znacznikiem czasu (ang. Unix Time Stamp). Taki znacznik czasu stosowany jest również w wersjach pochodnych systemu - Linux, BSD i inne...

W wielu sytuacjach w Linuksie musimy użyć właśnie takiej jednostki czasu, np. w sytuacji przedstawionej powyżej.

Tworzenie użytkowników i grup

Linux posiada kilka narzędzi, które pozwolą nam stworzyć nowego użytkownika lub grupę. Poniżej opiszę jak stworzyć nowego użytkownika i grupę za jednym zamachem. Tworzenie będzie miało bardzo prostą formę.

Jako root wpisz jedno polecenie:

adduser

Następnie zostaniesz poproszony o nazwę nowego użytkownika, hasło oraz inne dane, które nie są już niezbędne. Jest to bardzo prosta metoda, nie zawiera wiele czasu.

Aby skasować użytkownika wpisz deluser a następnie podaj nazwę.

Aby utworzyć nową grupę wpisz:

addgroup

Następnie podajesz nazwę grupy i gotowe.

Aby skasować grupę wpisz delgroup i podaj nazwę.

Zarówno w jednym i w drugim przypadku niezbędne informacje (tj. id, katalogi) tworzone są automatycznie. Często te właśnie programy używane są do tworzenia grup podczas instalacji. Niestety nie zawsze znajdziemy je w naszej dystrybucji.

Inne metody tworzenia użytowników i grup

Metody zaprezentowane poniżej mogą odstraszyć początkujących użytkowników. Przy odrobinie czasu polecam poeksperymentować z nimi na konta i grupy testowe. To pozwoli złagodzić "strach".

Polecenia do tworzenia i modyfikowania użytkowników:

useradd, usermod, userdel

Oto przykład tworzenia użytkownika za pomocą polecenia useradd (zaloguj się jako root):

useradd -d /home/user -G grupa1,grupa2 -m user

W ten sposób zostanie utworzony użytkownik (o nazwie user), do tego zostanie utworzony jego katalog domowy. Użytkownik ten zostanie przydzielony do grup: grupa1 i grupa2.

Pozostaje utworzyć jeszcze tylko hasło:

passwd user

Po wpisaniu polecenia zostaniesz poproszony o zmianę hasła lub w przypadku roota o podanie nowego. Jest to najprostrzy sposób, aby nadać hasło użytkownikowi.

Innym sposobem na podanie hasła może być zastosowanie opcji -p zaszyfrowane_hasło. W tym wypadku należy podać hasło odpowiednio zakodowane (w zależności jakie szyfrowanie wybrałeś podczas instalacji, np. md5 czy des itp...). Jeszcze innym sposobem jest edycja pliku /etc/shadow i tam też w odpowiednie miejsce wpisujemy zaszyfrowane hasło.

Oto flagi do polecenia useradd (i nie tylko):

Flaga Opis
-d ustawia domyślny katalog domowy
-e data, od której konto użytkownika zostanie wyłączone (dla użytkowników tymczasowych), czyli data ważności konta
-f liczba dni od wygaśnięcia hasła, po których konto ma być blokowane
-g grupa użytkownika
-G lista grup, do których ma należeć użytkownik (grupy oddzielaj przecinkami)
-s podanie shella (np. /bin/bash lub innego zamiast domyślnego)
-u numer id użytkownika
-l (małe "L"), zmiana nazwy użytkownika (usermod)

Poleceniem userdel usuwamy danego użytkownika:

userdel -r user

Zastosowanie opcji -r spowoduje dodatkowo usunięcie katalogu domowego tego użytkownika.

Opcję usermod można łączyć z wymienionymi wyżej flagami. Przykładowo opcja -d towrzy nowy katalog (np. -d /home/nowy), opcja -l nowy_login, -G grupa1,grupa2,grupa3 itd...

Polecenia do tworzenia i modyfikowania grup:

groupadd, groupmod, groupdel

Oto przykład utworzenia nowej grupy poleceniem groupadd:

groupadd -g 1021 grupa

Opcja -g powoduje przypisanie numeru gid (group id) i jest opcjonalna - jeśli nie podasz tego parametru zostanie przydzielony pierwszy wolny identyfikator. Zaleca się nadawanie unikalnego identyfikatora. Całe powyższe polecenie tworzy grupę o nazwie "grupa".

Modyfikacja grupy - przykład:

groupmod -n nowa_nazwa grupa

Polecenie powoduje nadanie nowej nazwy podanej grupie.

Poleceniem groupdel usuwamy grupę. Po poleceniu należy podać nazwę grupy.

Modyfikacja danych osobistych - chfn

Jeśli chcesz dokonać zmianę danych takich, jak: imię i nazwisko, telefon itp., użyj polecenia:

chfn nazwa_użytkownika

Dostaniesz kilka pól do wypełnienia. Naciśnięcie entera spowoduje pozostawienie aktualnej wartości. Jeżeli chcesz skasować wartość i pozostawić dane pole puste - wpisz spację (spacja, enter).

Zmiana shella

Aby zmienić powłokę logowania użyj polecenia chsh (ang. Change Shell). Zostaniesz poproszony o podanie nowej ścieżki do shella. Jako root możesz podać nazwę użytkownika przy wywoływaniu polecenia, aby dokonać dla niego zmiany.

Rada dla początkujących

Jeśli nie czujesz się pewnie w tym co chcesz zrobić nie pozostawaj bezradny. Do szybkiego dodawania i usuwania użytkowników oraz grup używaj pierwszych poleceń (tych łatwiejszych).

Jak pisałem wcześniej, polecenia te mogą nie występować w Twojej dystrybucji - w takim wypadku możesz użyć gotowych wzorów (patrz przykłady).

Dodatkowe eksperymenty na trudniejszych poleceniach napewno nie zaszkodzą, jeśli zachowasz odpowiednią ostrożność.

Wiedza uzupełniająca

Linux. Komendy i polecenia
Jeśli chcesz mieć zawsze pod ręką przydatną ściągę, sięgnij po tę książkę. Znajdziesz w niej informacje o zastosowaniu i składni poleceń systemowych. Nauczysz się korzystać z konsoli tekstowej, poznasz polecenia pozwalające na zarządzanie systemem plików itd.. Szybko znajdziesz wszystkie potrzebne Ci wiadomości. Mała, tania i przydatna.
Jest to bestseller przeznaczony dla początkujących użytkowników Linuksa... [Zobacz więcej...]

Dodał: Paweł​Dzedzej
Dział: Linux


 

ComputerSun.pl na FaceBooku
Polecamy lekturę:

FreeBSD 7. Instalacja i konfiguracja



X

Zapisz się na biuletyn serwisu ComputerSun.pl, aby otrzymać poradnik:

Zabezpieczanie sieci bezprzewodowych. Przydatne wskazówki jak chronić sieć domową przed intruzami

Imię:  
Email:
Tak, akceptuję Politykę Prywatności