W systemie Linux, podobnie jak we wszystkich systemach uniksowych, każdy użytkownik posiada unikalny numer UID, a każda grupa numer GID (przy czym przyjmuje się, że numery poniżej 1000 są zarezerwowane dla użytkowników i grup systemowych). Do grupy mogą należeć tylko użytkownicy – nie mogą należeć do nich inne grupy. Użytkownik jest przypisany do określonej grupy bazowej, poza którą może też należeć do innych grup (co wykorzystuje się do przydzielania uprawnień do różnych zasobów systemu). Dodatkowo, użytkownik posiada przypisany katalog domowy, przeznaczony na przechowywanie swoich plików (zazwyczaj znajdujący się w katalogu /home
), a także powłokę używaną po zalogowaniu do pracy z linią komend.
Podstawowym miejscem przechowywania danych o użytkownikach i grupach są pliki tekstowe:
/etc/passwd
– baza użytkowników,/etc/group
– baza grup,/etc/shadow
– baza haseł użytkowników (właściwie hashy haseł).Najprostszym możliwym sposobem zarządzania użytkownikami i grupami jest ręczna edycja tych plików w edytorze tekstu. Sposób ten jest mało wygodny i zwykle nie zaleca się go z powodu możliwości popełnienia błędów składniowych, ale może czasami być przydatny (np. w razie awarii systemu, czy też przenoszenia bazy kont między systemami) i warto o nim pamiętać. Najczęściej do zarządzania użytkownikami i grupami używa się poleceń:
useradd
, userdel
, usermod
i analogiczne dla grup – polecenia nieinteraktywne o dość rozbudowanej składni parametrów, zainstalowane domyślnie w prawie każdej dystrybucji,adduser
, deluser
i analogiczne dla grup – polecenia interaktywne przeznaczone dla mniej doświadczonych osób, ale nie wszędzie domyślnie zainstalowane,passwd
– polecenie do zmiany hasła bieżącego użytkownika (domyślnie) lub dowolnego użytkownika określonego jako parametr (w przypadku administratora).Dodatkowo, oprócz opisanych wcześniej plików, system może korzystać z innej bazy kont – np. na serwerze LDAP (rozwiązanie podobne do domeny Active Directory w przypadku systemu Windows).
W systemie zawsze istnieje użytkownik root
– administrator, który posiada wszystkie możliwe uprawnienia (przysłowie ang. root or god, no difference at all). Ze względu na tę wszechmoc oczywiście nie powinno się konta roota używać do pracy na co dzień, tylko w razie potrzeby ;-)
Innym użytkownikom (lub grupom) uprawnienia administracyjne można przyznawać za pomocą programu sudo
– na równi z rootem lub w ograniczonym zakresie (np. do wykonywania określonych poleceń).
System Windows posiada własną implementację usług katalogowych pod nazwą Active Directory. Umożliwa ona grupowanie komputerów w domeny Windows i scentralizowaną administrację połączonymi w ten sposób maszynami. Bazuje na 3 protokołach: LDAP, Kerberos i DNS.
Na wszystkich komputerach włączonych w domenę można logować się za pomocą tych samych kont, przechowywanych na serwerze pełniącym rolę kontrolera domeny (w celu zapewnienia redundancji, takich serwerów może być kilka). Tych samych danych można też używać, aby zapewnić dostęp do zasobów udostępnionych w domenie, np. katalogów sieciowych lub drukarek, a dzięki wykorzystaniu pojedynczego uwierzytelnienia (ang. SSO), hasło wystarczy podać tylko raz przy logowaniu do systemu. Z kolei dzięki zintegrowaniu z kontrolerem domeny serwera DNS, do komputerów wchodzących w skład domeny można odwoływać się za pomocą adresów domenowych zamiast adresów IP. Centralne logowanie można również rozszerzyć o przechowywany na serwerze profil użytkownika (profil mobilny).
Jednym z podstawowych celów tworzenia domen Active Directory jest kontrola uprawnień użytkowników – i ona w AD jest mocno rozbudowana. Możliwe jest między innymi:
Pomiędzy różnymi domenami Active Directory można definiować jednostronne lub dwustronne relacje zaufania, aby umożliwić użytkownikom jednej domeny dostęp do zasobów innej. Domeny można też hierarchicznie łączyć w drzewo, wtedy relacje zaufania są tworzone automatycznie.
Do domeny mogą należeć komputery z systemem operacyjnym Windows od wersji 2000, w edycji przeznaczonej do użytku w firmach (wersje z licencją przeznaczoną do użytku domowego są pozbawione tej funkcjonalności), a po odpowiednim skonfigurowaniu usługi Active Directory – także komputery z systemami Linux lub Unix. Kontrolerem domeny może być komputer z systemem Windows Server również od wersji 2000, albo komputer z systemem Linux i zainstalowanym serwerem Samba 4 (wariant alternatywny, w całości bazujący na oprogramowaniu otwartoźródłowym).
Podstawowym sposobem zarządzania pamięciami masowymi jest grupowanie ich w macierze RAID (ang. Redundant Array of Independent Disks). Dyski połączone w taką macierz współpracują między sobą i są widoczne w systemie jako jedna logiczna całość. Najczęściej stosuje się następujące rodzaje RAID:
Istnieją również inne rodzaje macierzy, łączące cechy RAID 0 i 1. W zastosowaniach serwerowych (gdzie istotna jest niezawodność) najczęściej stosuje się RAID 5 i 6, albo w przypadku małych 2-dyskowych konfiguracji – RAID 1. Często stosowanym uzupełnieniem macierzy RAID jest dysk hot spare – w normalnej sytuacji nieaktywny, natomiast automatycznie uruchamiany i dołączany do macierzy w razie awarii jednego z pracujących dysków. Pozwala to zminimalizować czas potrzebny na powrót macierzy RAID do pełnej sprawności po awarii. Dobrą praktyką jest budowanie macierzy RAID z dysków różnych producentów lub z dysków tego samego producenta, ale z różnych serii produkcyjnych – pozwala to uchronić macierz przed utratą z powodu awarii kilku dysków w zbliżonym czasie na skutek wady fabrycznej. Warto też mieć na miejscu rezerwowy dysk na wymianę, co niby jest oczywiste, ale chyba jednak nie zawsze – doświadczenia własne ;-)
Macierz RAID może być zarządzana przez sprzętowy kontroler (co odciąża procesor komputera – często, choć nie zawsze, stosowane w sprzęcie serwerowym) lub przez system operacyjny (co z kolei pozwala stworzyć taką macierz właściwie na dowolnej maszynie).
Pamięć masową można centralizować i udostępniać innym komputerom przez sieć. Zaletą takiego podejścia jest często lepsze wykorzystanie przestrzeni dyskowej i możliwość łatwiejszego zabezpieczenia przed utratą danych (np. strategia kopii zapasowych konieczna tylko dla jednego, centralnego systemu). Stosuje się tutaj dwie zbliżone, ale różniące się sposobem działania techniki:
Rozwiązanie NAS przydatne jest przede wszystkim wtedy, kiedy wielu użytkowników współdzieli pliki przechowywane na serwerze. Z kolei rozwiązanie SAN pozwala wykorzystywać na wyłączność różnym komputerom (np. serwerom) zdalnie udostępnioną pamięć masową do przechowywania danych, zamiast dysków lokalnych – ponieważ do tego samego fragmentu pamięci udostępnionej na poziomie blokowym równocześnie dostęp może mieć tylko jeden klient.