Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.


26.10.2020

Nowa wersja nVision

Można już pobierać nową wersję nVision
26.10.2020

Monitorowanie infrastruktury

Vertiv Environet Alert
23.10.2020

Telefonia w chmurze

NFON Cloudya
23.10.2020

Nowości w EDR

Bitdefender GravityZone
23.10.2020

Wykrywanie anomalii

Flowmon ADS11
23.10.2020

Mobilny monitor

AOC 16T2
22.10.2020

HP Pavilion

HP zaprezentowało nowe laptopy z linii Pavilion.
22.10.2020

Inteligentny monitoring

WD Purple SC QD101
22.10.2020

Przełącznik 2,5GbE

QNAP QSW-1105-5T

Zarządzanie kontami w systemach Linux

Data publikacji: 16-07-2020 Autor: Konrad Kubecki

Przemyślana polityka zarządzania kontami użytkowników w systemach Linux to istotny element składowy cyberbezpieczeństwa. Aby ją realizować, niezbędna jest znajomość narzędzi służących do tworzenia i modyfikacji kont, wprowadzania ustawień, definiowania reguł związanych z procesem logowania do systemu oraz rotacji haseł.

 

Wykorzystanie usługi Active Directory do nadawania dostępów do serwerów linuksowych to powszechnie stosowana praktyka. Dość często zdarza się jednak, że administratorzy wolnych systemów operacyjnych nie biorą udziału w zarządzaniu usługą Active Directory. Zakładanie i konfiguracja kont, reguły rotacji haseł i wymogi dotyczące poziomu skomplikowania są zazwyczaj poza ich obszarem odpowiedzialności i zainteresowania. Zgłoszonym kontom domenowym nadaje się uprawnienia do wybranych serwerów i zapomina o sprawie. Mimo wszystko pojawiają się potrzeby tworzenia i utrzymywania kont lokalnych systemów linuksowych. Nie wszystkie rozwiązania muszą korzystać z Active Directory, a czasem jest to wręcz niewskazane, choćby ze względu na charakter serwera i zasadność odseparowania usługi od reszty infrastruktury. Znajomość możliwości Linuksa w zakresie zarządzania kontami jest wtedy niezbędna.

 

> TWORZENIE KONT


Komendą służącą do zakładania nowych kont w systemie CentOS jest useradd. Najprostszy wariant jej użycia to podanie samego loginu nowego użytkownika: useradd konrad. Konto zostanie utworzone z zestawem domyślnych ustawień. Będzie to powłoka bash oraz katalog domowy ulokowany w /home. Zostanie także założona grupa o tej samej nazwie co nazwa konta, a nowy użytkownik automatycznie zostanie jej członkiem. Skąd program useradd wie, jakie ustawienia ma zastosować podczas zakładania konta, gdy podany został tylko login? Jeśli w poleceniu nie zdecydowano inaczej, korzysta on z podstawowych ustawień domyślnych. Domyślne parametry programu useradd uzyskamy, uruchamiając go z parametrem -D:

 

 

Powyższe ustawienia oznaczają, że:

 

  • użytkownik będzie dodany do grupy o identyfikatorze 100,
  • katalog domowy zostanie utworzony w katalogu /home,
  • konto będzie aktywne oraz nie będzie miało daty wygasania,
  • przypisana powłoka to /bin/bash,
  • podczas zakładania konta użyty zostanie szablon znajdujący się w katalogu /etc/skel,
  • utworzony zostanie katalog poczty.

 

Możliwe jest dokonywanie zmian ustawień domyślnych stosowanych podczas tworzenia nowego konta. Przykładowo jeśli zakładamy, że katalogi domowe użytkowników mają tworzyć się w /opt, to pomoże w tym polecenie adduser -D -b /opt. Podobnie zmianę domyślnie przypisywanej powłoki wykonamy, uruchamiając adduser -D -s /sbin/nologin. Odczyt ustawień domyślnych będzie przedstawiał się następująco:

 

 

Polecenie useradd można rozbudować o dodatkowe parametry, które pozwolą dokładniej opisać charakterystykę nowego konta oraz zmodyfikować ustawienia domyślne. Jeżeli użytkownik powinien otrzymać inną powłokę, to podczas zakładania konta da się to sprecyzować poprzez parametr:



Podanie opisu, zawierającego imię, nazwisko, nr telefonu i dział umożliwia komenda:

 


Opis nie jest obowiązkowy i przez to często pomijany. Warto jednak stosować go, aby inni administratorzy mogli sprawdzić, do kogo należy dane konto i jak się z tą osobą skontaktować. Nadawanie opisów jest również przydatne w przypadku kont niezbędnych dla działania usług, kont serwisowych oraz kont przeznaczonych dla dostawców zewnętrznych. Nawet krótki opis jest pomocny, gdy zachodzą wątpliwości dotyczące zasadności utrzymywania konta lub wtedy, gdy trzeba zebrać informacje na potrzeby audytu.


Modyfikacja ścieżki do katalogu domowego możliwa jest dzięki parametrowi -d /sciezka/homedir. Jeśli natomiast nie przewidujemy katalogu domowego, to przyda się parametr -M. Możliwa jest również rezygnacja z tworzenia grupy użytkownika. Odpowiada za to opcja -N. Jeżeli chcemy, aby użytkownik należał do kilku istniejących już grup, to możemy dokonać tego jednym poleceniem:

 



Interesująca jest także możliwość wykorzystania niestandardowego szablonu katalogu domowego, innego niż ten zdefiniowany w /etc/skel:

 


Powyższe polecenie utworzy katalog domowy na podstawie zawartości /opt/skel2. Pozwala to na utrzymywanie kilku różnych szablonów i stosowanie ich zamiennie, w zależności od tego jakie konto w danym momencie ma być utworzone. Może się też zdarzyć sytuacja, w której użytkownik ma otrzymać określony identyfikator UID. Przykład zastosowania przedstawia poniższa komenda:



Użytkownik otrzyma wskazany identyfikator zamiast domyślnie generowanego. Tego typu konfiguracja jest szczególnie ważna podczas przenoszenia kont z jednego serwera na drugi wraz z plikami. Zachowanie tego samego identyfikatora na nowym serwerze pozwala na zachowanie uprawnień do przenoszonych plików.

 

> KATALOG DOMOWY


W większości przypadków zakładanie nowego konta użytkownika jest równoznaczne z utworzeniem dla niego katalogu domowego. Katalog domowy powstaje na podstawie wzorca – jest nim zawartość katalogu /etc/skel. Znajdujące się w nim pliki są kopiowane do katalogu nowego użytkownika oraz przypisywane są im adekwatne uprawnienia.


Standardowo w katalogu /etc/skel znajdują się tylko trzy pliki: .bash_logout, .bash_profile oraz .bashrc. Odpowiadają one za konfigurację środowiska użytkownika. Obok początkowej konfiguracji mogą być w nich definiowane niestandardowe zmienne oraz ustawienia aplikowane w chwili zalogowania lub wylogowania z systemu. Zawartość /etc/skel można modyfikować, dzięki czemu każdy nowo tworzony użytkownik otrzyma odpowiedni zestaw plików i ustawień. Jeżeli przeniesiemy do niego kilka niestandardowych plików, to znajdą się one w katalogu domowym każdego założonego w przyszłości użytkownika. Można zatem umieścić w nim informacje, instrukcje, skrypty, binarki lub linki prowadzące do istotnych zasobów znajdujących się poza katalogiem domowym użytkownika.

 

> LOGIN.DEFS

 

Jednym z ważniejszych plików konfiguracyjnych, którego treść warto znać, jest /etc/login.defs. Zawiera on ustawienia posiadające bezpośredni wpływ na konfigurację kont, mechanizmy zabezpieczeń związane z procesem logowania do systemu oraz na szczegółowość zapisów w logach po udanych i nieudanych próbach logowania. Ustawienia zdefiniowane w pliku /etc/login.defs wpływają na niemal wszystkie kluczowe programy używane podczas zarządzania kontami użytkowników oraz grup. Są dla nich źródłem reguł. Wśród tych programów są m.in. useradd, adduser, chage, groupadd, groupdel, gropmod, newusers, userdel oraz usermod.

 

[...]

 

Specjalista ds. utrzymania infrastruktury i operacji. Zajmuje się problematyką budowy i utrzymania centrów przetwarzania danych oraz zarządzania nimi i koordynowaniem zmian dotyczących krytycznej infrastruktury IT.

Artykuł pochodzi z miesięcznika: IT Professional

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"