Środowisko wielo-serwerowe linux
Laboratoria mają na celu uruchomienie współdzielenia zasobów sieciowych pomiędzy serwerami Linux z wykorzystaniem protokołu NFS oraz stworzenie jednorodnego środowiska użytkownika tej sieci z wykorzystaniem usługi katalogowej OpenLDAP.
Wymagania laboratorium:
- dwa serwery linux
- zainstalowanie na jednym z nich usługi OpenLDAP
- przygotowanie udostępnienia NFS Share dla drugiego serwera
Przygotowanie nowego serwera Ubuntu – klient usługi.
Bazując na wcześniejszych laboratoriach ( lab 4 i lab 1) przygotuj nową maszynę wirtualną Ubuntu 20.04 o podanych poniżej parametrach wraz z zainstalowanym systemem operacyjnym Ubuntu.
- CPU: 2 wirtualny procesor
- RAM: 2 GB pamięci
- DYSK: 10 GB jako urządzenie SCSI
Po zakończonej instalacji systemu proszę w pierwszej kolejności zaktualizować system i następnie doinstalować na kliencie pakiet nfs-common. Będzie on niezbędny do wykonania montowania (przyłączenia) udziału udostępnionego po NFS.
Przygotowanie serwera NFS
Na maszynie wirtualnej którą aktualnie używasz (poprzednie laboratoria) po aktualizacji systemu ( apt update; apt upgrade) zainstaluj pakiet nfs-kernel-server. Jest to usługa dystrybucji folderów i plików na zdalną maszynę (klienta) z wykorzystaniem protokołu NFS
Po zainstalowaniu pakietu należy skonfigurować udostępnienia. W tym celu edytuj plik /etc/exports i wewnątrz dodaj na końcu wpis udostępnienia folderu /home.
odpowiednio należy wskazać w konfiguracji:
- ścieżka do udostępnienia
- adres IP klienta dla którego udostępniamy
- parametry udostępnienia: rw – odczyt/zapis; sync – tryb natychmiastowej synchronizacji; no_subtree_check – brak sprawdzania struktury folderów; no_root_squash – nie odejmowanie uprawnień użytkownika root = na każdym serwerze tj. kliencie i serwerze NFS root ma te same prawa do udostępnienia
Na obrazku jest przykładowy adres IP – Ty będziesz miał inny adres IP 😉
Zapisz konfigurację i zrestartuj usługę nfs-kernet-server
Na serwerze klienta możesz sprawdzić czy udział jest dla ciebie dostępny poprzez polecenia showmount
Przetestuj możliwość podłączenia do swojego systemu udostępnienia przy pomocy polecenia
mount -t nfs adres_ip_maszyny_serwera_nfs:/home /mnt
Wykonując polecenie mount zobaczysz przypięte systemy plików w tym podłączony udział
lub używając polecenia df -h także możesz potwierdzić poprawność przyłączenia
po stronie klienta możesz zobaczyć zawartość folderu home z serwera NFS który został podłączony do folderu /mnt
Zauważyć możesz również że nie poprawnie wyświetlane są dane o właścicielach i grupach. Powodem problemu jest niezgodność baz danych o użytkownikach i grupach.
Aby to wyeliminować i doprowadzić do integralności danych należy uruchomić usługę integrującą w postaci usług katalogowych OpenLDAP
Uruchomienie usługi OpenLDAP WYŁĄCZNIE po stronie serwera usługi NFS
-
- Zainstaluj pakiety:
- „slapd” (zapyta o hasło dla administratora LDAP)
- „ldap-utils”
- „slapd” (zapyta o hasło dla administratora LDAP)
- Poniżej wykonaj:
- wykonaj „dpkg-reconfigure slapd”
- Ekran 1 : NIE
- Ekran 2 : zamień domenę „nodomain” na „lab.pl”
- Ekran 3 : zamień „nodomain” na „lab.pl”
- Ekran 4 : Podaj hasło administratora bazy LDAP
- Ekran 5 : Powtórz hasło
- Ekran 6 : „Remove old …” : NIE
- Ekran 7 : „Move old data” : TAK
- Instalacja SLAPD w folderze /etc/ldap poprawiamy zawartość pliku ldap.conf uzupełniając BASE i URI właściwymi informacjami (zauważ do czego służy znak „#”):
- BASE dc=lab,dc=pl
- URI ldap://localhost
- Ze strony http://jxplorer.org/pobrać JXplorer w aktualnej wersji dla systemu Windows lub jeśli instalacja jest nie możliwa to pobierz zip ze strony googla i rozpakuj go w katalogu, a następnie uruchom jxplorer.bat
- Należy zainstalować JXplorer (Dla WI uruchom program dostępny na serwerze terminali windows – dysk H: folder jxplorer)
- Konfiguracja połączenia:
- Host: 192.168.203.xxx
- Port: 389
- Base DN: dc=lab,dc=pl
- Level: User + Password
- User DN: cn=admin,dc=lab,dc=pl
- Password: (hasło podane w czasie instalacji pakietu slapd)
- Zainstaluj pakiety:
7. Po wykonaniu połączenia będzie widoczne drzewo usługi z użytkownikiem admin
8. Tworzenie nowego użytkownika (na obiekcie kontener -> menu kontekstowe /prawy klawisz myszy/ -> New — wybieramy podane ponizej clasy):
-
-
- Nazwa: user1
- UIDNumber: 10000
- GIDNumber: 100
- HomeDirectory: /home/user1
- UID: user1
- Sn: jakieś nazwisko
- userPassword: u1
- Kasy obiektu LDAP: Top, Person, PosixAccount, SimpleSecurityObject
-
9. Po zakończeniu tworzenia konta zatwierdzamy wprowadzone dane poprzez SUBMIT
10. Wracamy do konsoli PuTTy
11. Testujemy działanie komend ldapsearch
Wymagane parametry:
-
-
- –x
- –LLL
-
12. Wynikiem powinno być wyświetlenie całej zawartości drzewa LDAP
(jeśli masz błąd (32) to sprawdź wpisy w pkt 3.)
13. Tworzymy folder użytkownika user1 który będzie jego katalogiem domowym (/home/user1) i nadajemy uprawnienia do tego folderu tj.:
chown 10000:100 /home/user1
Przy wykorzystaniu LDAP uzyskać można wspólną bazę usług katalogowych dla wielu serwerów
Podpięcie systemu do usługi OpenLDAP – operacja dla serwera i klienta
Uruchamiamy integrację systemu operacyjnego z LDAP. W tym celu musimy zainstalować dodatek rozszerzający możliwości systemu operacyjnego:
- „libnss-ldap„
2. W trakcie instalacji system poprosi o podanie danych pozwalających na przyłączenie się do LDAP (podaj wyłącznie w tej linii !!!!! : 127.0.0.1 dla serwera, a w przypadku uruchamiania na kliencie podaj adres IP serwera):
UWAGA! : zmieniona domena LDAP na: dc=lab,dc=pl
LDAP version: 3
Ustawiamy konto root jako admina LDAP
Włączamy wymaganie logowania do dostępu do bazy LDAP
LDAP account for root: cn=admin,dc=lab,dc=pl
Podać właściwe hasło dla użytkownika ADMIN (podane w poprzednim laboratorium)
Wskazać jako użytkownika uprzywilejowanego na: cn=admin,dc=lab,dc=pl
Podać właściwe hasło (jak było wcześniej)
3. Zmieniamy ustawienia w pliku „/etc/ldap.conf„
- Przestawiamy SCOPE na „SUB”
- Włączamy obsługę przesyłania jawnych haseł
- Zapisujemy modyfikacje w pliku…
4. Dopisujemy obsługę LDAP do „/etc/nsswitch.conf„
- Dopisujemy wykorzystanie bazy LDAP
- Zapisujemy modyfikacje…
5. Jeżeli wykonaliśmy wszystko poprawnie powinni być widoczni użytkownicy z bazy LDAP. Można to sprawdzić przy pomocy polecenia „id” ze wskazaniem nazwy użytkownika np.:
id user1
W wyniku otrzymamy informacje o użytkowniku user1 (jego UID i GID)
uid=10000(user1) gid=100(users) grupy=100(users)
6. Powtarzamy powyższe czynności dla drugiej maszyny wirtualnej (klienta) – TUTAJ
Umożliwienie uwierzytelnienia do usługi OpenLDAP – operacja dla serwera i klienta
1. Zainstaluj pakiet „libpam-ldap„. Prawdopodobnie otrzymasz komunikat, że pakiet jest już zainstalowany. Został dołączony przy poprzednim laboratorium.
2. Następujące polecenia powinny być rozpoznawane prawidłowo w systemie:
id user1 cd ~user1 (tylko po ponownym zalogowaniu się do putty)
3. System PAM wykorzystuje ten sam plik konfiguracji („/etc/ldap.conf„) jak libnss-LDAP. System automatycznie również skonfiguruje dostęp w systemie PAM wewnątrz katalogu /etc/pam.d należy jedynie sprawdzić poprawność wpisów.
NIE WOLNO NIC ZMIENIAĆ – tylko sprawdzić !!!!!!!!!!!!! czy występują w każdym pliku pozycje na czerwono !!! Jeśli tak o wszystko OK.
4. Prawidłowa postać wszystkich wpisów:
common-account:
common-auth:
common-password:
common-session:
common-session-noninteractive:
5. Prawidłowo wykonane wpisy po zrestartowaniu usługi SSH powinny pozwolić na zalogowanie się przy pomocy użytkownika z LDAP do systemu.
restart: service ssh restart
6. Połączenie wykonujemy przez kolejną sesję SSH (nowa sesja) i logowaniu się użytkownikiem i hasłem z LDAP
7. Powtarzamy czynność umożliwienia uwierzytelnienia na maszynie wirtualnej klienta – TUTAJ
Test kompetencji
Do wykonania testu niezbędne jest uzyskanie oceny z poprzedniego 3-ciego testu dostępnego na tej samej platformie https://e-edukacja.zut.edu.pl/course/view.php?id=976
Link do testu: https://e-edukacja.zut.edu.pl/mod/quiz/view.php?id=23071