Zarządzanie Systemami Rozproszonymi Skrypt do ćwiczeń laboratoryjnych



Podobne dokumenty
2. Testowanie nazw wymaga uruchomienia serwera nazw protokołu NetBIOS:

Rozproszone systemy plików

Serwer SAMBA UDOSTĘPNIANIE UDZIAŁÓW SIECIOWYCH PIOTR KANIA

Serwer SMB. Udostępnienie zasobów systemowych w sieci. Jakub Stasiński, Jędrzej Chruściel, Michał Wojciechowski

Demony: smbd umoŝliwia współdzielenie plików i drukarek +uwierzytelnianie

Zapoznanie się z konfiguracją i zarządzaniem serwerem Samba.

NFS jest protokołem zdalnego wywoływania procedur (RPC)

Serwer plików i drukarek Samba

SIECIOWE. mgr inż. Adam Mencwal Katedra Informatyki Stosowanej.

Protokół SMB umożliwia udostępnianie plików udostępnianie drukarek

KURS ADMINISTROWANIA BAZAMI DANYCH WYKŁADY 1, 2 i 3

Samba, instalacja i konfiguracja

Instalacja Systemu Linux na maszynie writualnej

System operacyjny Linux

Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego

Bezpieczeństwo systemów informatycznych

Praca w sieci równorzędnej

Instytut Teleinformatyki

System operacyjny UNIX system plików. mgr Michał Popławski, WFAiIS

DLA DREAMBOX & FLASHWIZARD

Użytkownicy I. Użytkownik. Głównym celem istnienia użytkowników i grup w systemie jest utrzymanie porządku i separacja uprawnień.

Administracja systemem Linux

System operacyjny Linux

Samba serwer plików i drukarek. Rafał Szcześniak <mimir@samba.org> The Samba Team. Prosze pytać w każdej chwili

Samba plik konfiguracyjny klienta

Rys. 1. Widok uruchomienia polecenia apt-get install build-essential. Rys. 2. Widok uruchomienia polecenia apt-get install apache2

Fiery Remote Scan. Uruchamianie programu Fiery Remote Scan. Skrzynki pocztowe

Samba plik konfiguracyjny serwera

Instytut Teleinformatyki

Przed restartowaniem routera odłącz wszystkie urządzenia podłączone pod porty USB.

Uwierzytelnianie użytkowników sieci bezprzewodowej z wykorzystaniem serwera Radius (Windows 2008)

T: Instalacja systemu Windows 2008 Serwer w maszynie wirtualnej VirtualBox.

2014 Electronics For Imaging. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym tego

Zarządzanie dyskami w linuxie. Partycjonowanie. Raid programowy. LVM. Naprawa. założenie nowej partycji przy pomocy programu fdisk

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Instalacja i konfiguracja serwera SSH.

Konfiguracja serwera Samba w wersji 3 i 4. Krzysztof Boryczko Remigiusz Górecki

Jak używać funkcji prostego udostępniania plików do udostępniania plików w systemie Windows XP

Fiery Remote Scan. Łączenie z serwerami Fiery servers. Łączenie z serwerem Fiery server przy pierwszym użyciu

Użycie pakietów instalacyjnych.msi w oprogramowaniu WYWIAD Plus

Ćwiczenie 2 Badanie praw dostępu do zasobów w systemie Windows 2000.

Przed restartowaniem routera odłącz wszystkie urządzenia podłączone pod porty USB.

Wprowadzenie do Active Directory. Udostępnianie katalogów

Ćwiczenie 2 Badanie praw dostępu do zasobów w systemie Windows 2000.

iscsi jako ekonomiczna alternatywa dla FibreChannel Piotr Baranowski - OSEC

Wybrane usługi sieciowe DFS, SMB, Serwer terminali. Monitorowanie i zarządzanie serwerami sieciowymi Wykład

PROFESJONALNE SYSTEMY BEZPIECZEŃSTWA

William R. Stanek. Vademecum Administratora 2012 R2. Windows Server. Podstawy i konfiguracja. Przekład: Leszek Biolik

Administracja systemem Linux p. 1

Udostępnianie zasobów Gentoo Linux systemom Microsoft Windows 7 za wykorzystaniem ku temu serwera plików i drukarek SAMBA.

Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu Unix

oprogramowania F-Secure

6. Cel: Sprawdzenie drogi protokołu TCP/IP

Konwersja maszyny fizycznej na wirtualną.

Windows Serwer 2008 R2. Moduł 8. Mechanizmy kopii zapasowych

Wymagania do zdalnej instalacji agentów firmy StorageCraft

Serwery LDAP w środowisku produktów w Oracle

INSTRUKCJA OBSŁUGI DLA SIECI

Egzamin pisemny z przedmiotu: Systemy operacyjne Semestr I

"Klasyczna" struktura systemu operacyjnego:

Windows Server 2012 Active Directory

Systemy operacyjne. Instrukcja laboratoryjna. Ćwiczenie 1: Polecenia systemu UNIX/LINUX. Opracował: dr inż. Piotr Szpryngier

Pracownia internetowa w szkole ZASTOSOWANIA

INFORMATOR TECHNICZNY WONDERWARE

10.2. Udostępnianie zasobów

Ćwiczenie Nr 6 Przegląd pozostałych najważniejszych mechanizmów systemu operacyjnego Windows

Graficzny terminal sieciowy ABA-X3. część druga. Podstawowa konfiguracja terminala

INFORMATOR TECHNICZNY WONDERWARE

(Pluggable Authentication Modules). Wyjaśnienie technologii.

Policealne Studium Zawodowe w Grudziądzu. Technik Informatyk SYSTEMY I SIECI KOMPUTEROWE. Windows XP klonowanie instalacji z wykorzystaniem sysprep

Wstęp 5 Rozdział 1. SUSE od ręki 13

System kontroli dostępu ACCO NET Instrukcja instalacji

Cryptobox Aplikacja do synchronizacji danych użytkownika w systemie KMD2

DESlock+ szybki start

Laboratorium - Poznawanie FTP

Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami

Zespól Szkół Ponadgimnazjalnych Nr 17 im. Jana Nowaka - Jeziorańskiego Al. Politechniki 37 Windows Serwer 2003 Instalacja

Udostępnianie zasobów

Linux: System Plików

Administrowanie Sieciowymi Systemami Operacyjnymi

PAMIĘĆ OPERACYJNA...107

Proces instalacji systemu operacyjnego Linux Red Hat 7.3 (1)

PODSTAWOWA OBSŁUGA PROGRAMU PROGRAMU PACKET TRACER TRYB REAL TIME

4. Podstawowa konfiguracja

Usługi sieciowe systemu Linux

Połączenia. Instalowanie drukarki lokalnie (Windows) Co to jest drukowanie lokalne?

Przewodnik Google Cloud Print

IBM SPSS Statistics dla systemu Linux Instrukcje instalacji (licencja sieciowa)

AE/ZP-27-16/14. Oprogramowanie do wykonywania kopii zapasowych oraz zarządzania maszynami wirtualnymi

SMB jako rozproszony system plików Prezentacja na SO

Zadanie1. Wykorzystując serwis internetowy Wikipedii wyjaśnij następujące pojęcia: wirtualizacja, VirtualBox, Vmware, KVM, Virtual PC, Hyper-V.

ZAJĘCIA 4 Zarządzanie dyskami

Wirtualizacja w praktyce.

Wstęp do systemów wielozadaniowych laboratorium 02 Praca w systemie plików

Tomasz Greszata - Koszalin

Windows Serwer 2008 R2. Moduł 5. Zarządzanie plikami

Grzegorz Cygan. Zarządzanie prawami plików i folderów w systemie operacyjnym Windows z systemem plików NTFS

Sektor. Systemy Operacyjne

WPROWADZENIE. Warto pamiętać o opcji autouzupełniania, której używamy naciskając klawisz [Tab]

Instalacja Wirtualnego Serwera Egzaminacyjnego

Transkrypt:

Zarządzanie Systemami Rozproszonymi Skrypt do ćwiczeń laboratoryjnych Cezary Sobaniec v2.16 2013/04/22 Politechnika Poznańska Instytut Informatyki

Spis treści Wprowadzenie 3 1 NFS 5 1.1 Kon guracja klienta....................... 5 1.2 Kon guracja serwera....................... 7 1.2.1 Uruchomienie serwera.................... 8 1.2.2 Rekon guracja...................... 8 1.2.3 Grupy sieciowe...................... 8 1.3 Mapowanie użytkowników..................... 9 1.3.1 Mapowanie statyczne.................... 9 1.3.2 Mapowanie dynamiczne................... 10 1.3.3 WebNFS......................... 10 1.4 Automonter.......................... 10 1.4.1 Zwiększanie dostępności................... 11 1.4.2 Wielokrotne montowanie................... 11 1.5 NFSv4............................ 11 2 Pakiet Samba 14 2.1 Klient protokołu SMB/CIFS.................... 14 2.2 Serwer protokołu SMB/CIFS.................... 15 2.2.1 Uruchomienie....................... 15 2.2.2 Kompatybilność systemów Unix/Windows............ 16 2.2.3 Kontrola dostępu...................... 16 2.2.4 Monitorowanie serwera................... 17 2.2.5 Program administracyjny Swat................. 17 2.3 Kontroler domeny........................ 17 2.4 Pakiet Winbind......................... 19 2.4.1 Kon guracja....................... 19 2.4.2 Katalogi domowe użytkowników uniksowych........... 21 2.5 Synchronizacja haseł....................... 22 2.6 Moduły VFS.......................... 22 2.6.1 Moduł full_audit...................... 22 2.6.2 Moduł recycle....................... 22

Spis treści 2 3 Systemy plików 23 3.1 Interfejs loop.......................... 23 3.2 Przegląd wybranych systemów plików................. 23 3.2.1 NTFS.......................... 23 3.2.2 SquashFS........................ 24 3.3 Rozszerzone atrybuty, metadane................... 24 3.3.1 xattr.......................... 24 3.3.2 NTFS.......................... 25 3.4 Zmiana rozmiaru systemu plików.................. 25 3.5 Systemy plików w pamięci..................... 25 3.6 UnionFS........................... 26 3.7 Logical Volume Manager...................... 27 3.7.1 HOWTO......................... 27 3.7.2 Funkcje zaawansowane................... 27 3.7.3 Migracja grupy woluminów do innego systemu........... 28 3.7.4 YaST.......................... 28 3.8 Btrfs............................. 29 3.8.1 Podstawy........................ 29 3.8.2 System plików na wielu urządzeniach.............. 29 3.8.3 Konwersja z ext3/ext4.................... 30 3.8.4 Snapper......................... 30 4 Storage 32 4.1 Dyski............................. 32 4.2 iscsi............................. 32 4.2.1 Target.......................... 32 4.2.2 Initiator......................... 33 4.3 FreeNAS........................... 34 4.4 OpenFiler........................... 35 Skorowidz 36 Bibliogra a 38

Wprowadzenie Środowisko do ćwiczeń 1. Ćwiczenia wykonywane są w większości w ramach wirtualnych maszyn przygotowanych dla nadzorcy VirtualBox. Gotowy do zaimportowania obraz maszyny wirtualnej jest dostępny pod adresem http://lindev.cs.put.poznan.pl/zsr/. 2. Maszyna wirtualna ma skon gurowany interfejs sieciowy w trybie mostkowania (bridged adapter), co umożliwia bezpośrednią komunikację między maszynami wirtualnymi poszczególnych studentów. 3. Domyślne hasło na wszystkie konta brzmi asdf. 4. Wszystkie ćwiczenia przeprowadzone zostały w systemie Linux, dystrybucja opensuse, wersja 12.2. Przedstawione rozwiązania oraz sposoby ich kon guracji są jednak w większości niezależne od dystrybucji i mogą być bez przeszkód zastosowane w innych wersjach systemu Linux a często również i w innych systemach uniksopodobnych, wykorzystujących oprogramowanie Open Source. Konwencje użyte w skrypcie 1. Adresy IP z podsieci 192.168.0.0/16 są przykładami adresów publicznych. Adresy z podsieci 10.0.0.0/8 są przykładami adresów prywatnych. 2. Komendy wykonywane w linii poleceń są pogrubione i poprzedzone znakiem zachęty #. Wyniki produkowane przez komendę wypisywane są bez pogrubienia, np.: # ls a.txt b.txt c.txt Jeżeli treść komendy nie mieści się w jednej linijce, to jest kontynuowana w następnej a linia kończy się znakiem \, np.: # cp /usr/local/share/texmf/fonts/tfm/public/bera/*.tfm \ > /usr/share/texmf/fonts/tfm/public/bera Znak zachęty może być poprzedzony dodatkowym opisem wskazującym na jakim serwerze akcja ma być wykonana, np.: PDC# smbpasswd -w 3. Nazwy plików oraz katalogów zapisywane są w tekście następująco: /usr/bin/qaz. 4. Nazwy komend (programów) zapisywane są jako: slapadd. 5. Odwołania do stron standardowej pomocy systemowej (man) zapisywane są jako: nfs(5).

Wprowadzenie 4 Liczba w nawiasie oznacza nr sekcji pomocy. 6. Inne istotne nazwy wyróżnione są w tekście następująco: moduł pam_mount. 7. Kombinacje klawiszy skrótów zapisywane są jako: Ctrl-Alt-Del.

1 NFS Network File System to rozproszony system plików stworzony przez rmę Sun Microsystems. 1.1 Kon guracja klienta Zanim klient będzie w stanie odwołać się do zasobów zdalnego systemu, musi poznać listę udostępnianych zasobów. Może to wykonać za pomocą komendy showmount(8): # showmount -e localhost mount clntudp_create: RPC: Program not registered # showmount -e sirius Export list for sirius: /home lab1,lab2,lab3 Przełącznik -e (ang. export) pobiera listę zasobów (katalogów) ze wskazanego komputera czyli katalogów eksportowanych przez ten system. W powyższym przypadku komputer klienta nie udostępnia żadnego katalogu, bo nie został uruchomiony jeszcze serwer NFS. Implementacja serwera NFS jest oparta na mechanizmie zdalnych wywołań procedur RPC (ang. Remote Procedure Call), a komunikat pochodzi od usługi rpcbind(8) wskazując, że nie ma zarejestrowanej wymaganej usługi RPC. Komputer sirius udostępnia katalog /home i udostępnia go komputerom lab1, lab2, lab3. Klient systemu NFS jest wbudowany w jądro systemu operacyjnego. Uzyskanie dostępu do zdalnego katalogu wymaga dołączenia zdalnego systemu plików analogicznie do tego, jak wykonywane jest to lokalnie. Montowanie katalogu wymaga użycia komendy mount(8): mount system_plików katalog_docelowy Przykładem zastosowania komendy mount jest dołączenie systemu plików z PenDrive a lub napędu CD: # mount /dev/sr0 /mnt Katalog /mnt bardzo często wykorzystywany jest do tymczasowego dołączania systemów plików. Przetwarzanie plików w katalogu /mnt może być realizowane w taki sam sposób jak innych plików lokalnych. Odłączenie systemu plików, zarówno lokalnego jak i zdalnego, wykonywane jest komendą umount(8): # umount /mnt

1.1 Kon guracja klienta 6 Parametrem komendy może być zarówno nazwa katalogu jak i nazwa systemu plików. Katalog musi być niewykorzystywany, tzn. żaden proces nie może mieć otwartego pliku z podkatalogów tego katalogu i żaden proces nie może mieć skojarzonego żadnego z podkatalogów jako swojego katalogu bieżącego. W przypadku zablokowania katalogu można zidenty kować blokujące procesy: # umount /mnt umount.nfs: /mnt: device is busy # fuser /mnt /mnt: 19868c Wartość wyświetlana komendą fuser(1) jest identy katorem procesu z dodatkowym opisem, np. c (ang. current directory) oznacza, że proces ten wykorzystuje katalog jako katalog roboczy. Tą samą informację możemy uzyskać korzystając z komendy lsof(8): # lsof +D /mnt COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME bash 19868 root cwd DIR 0,21 4096 688536150 /mnt Dołączając system plików można wskazać jakiego jest typu. System Linux obsługuje m.in. następujące systemy plików: ext4 vfat ntfs iso9660 nfs cifs reiserfs btrfs xfs (obecnie) standardowy system plików systemu Linux system plików FAT z obsługą długich nazw plików system plików NTFS z Windows NT/200x/XP system plików z dysków CD sieciowy system plików NFS system plików SMB (zobacz opis pakietu Samba) system plików ReiserFS B-tree File System system plików XFS Dołączenie systemu plików z PenDrive a formatowanego w systemie Windows można więc wykonać następująco: # mount -t vfat /dev/sdb1 /mnt W przypadku systemu NFS identy kacja systemu plików wymaga wskazania zdalnego serwera i katalogu na tym serwerze. Dołączenie katalogu /home z systemu sirius można więc zrealizować następująco: # mount -t nfs sirius:/home /mnt Dołączanie systemów plików może być parametryzowane dodatkowymi opcjami de niowanymi przełącznikiem -o. Oto krótka lista ważniejszych opcji montowania: ro atime dev exec suid sync async remount tryb tylko do odczytu włącznie aktualizacji daty ostatniego dostępu włączenie interpretacji plików specjalnych reprezentujących urządzenia zezwolenie na wykonywanie programów włączenie interpretacji bitów SUID i SGID synchroniczne wykonywanie operacji dostępu asynchroniczne wykonywanie operacji dostępu zmiana parametrów montowania

1.2 Kon guracja serwera 7 Niektóre opcje występują również w wersjach negujących ich działanie z dodatkowym pre ksem no, np. noatime, nodev, noexec, nosuid. Dołączenie zdalnego systemu plików w trybie tylko do odczytu można więc wykonać następująco: # mount -o ro sirius:/home /mnt W przykładzie pominięto specy kację typu systemu plików, gdyż wynika ona bezpośrednio z formatu reprezentacji urządzenia (nazwa_komputera:katalog). System plików NFS obsługuje wiele dodatkowych opcji montowania systemu plików. Pełną listę można znaleźć na stronie pomocy systemowej nfs(5). Oto ważniejsze z nich: hard soft intr tcp rsize=n wsize=n timeo=n retrans=n acreqmin=n acreqmax=n acdirmin=n acdirmax=n noac nieprzerwane odwoływanie się do serwera w przypadku awarii sygnalizacja błędu na poziomie aplikacji w przypadku awarii serwera umożliwia przerwanie operacji wejścia/wyjścia poprzez sygnał w przypadku montowania miękkiego (opcja soft) połączenie z serwerem za pośrednictwem protokołu TCP rozmiar bufora odczytu z serwera NFS rozmiar bufora zapisu z serwera NFS czas oczekiwania na odpowiedź przed retransmisją żądania maksymalna liczba retransmisji przed zgłoszeniem błędu w trybie soft minimalny czas przechowywania informacji o plikach zwykłych w pamięci podręcznej maksymalny czas przechowywania informacji o plikach zwykłych w pamięci podręcznej minimalny czas przechowywania informacji o katalogach w pamięci podręcznej maksymalny czas przechowywania informacji o katalogach w pamięci podręcznej całkowite wyłączenie pamięci podręcznej dla atrybutów plików 1.2 Kon guracja serwera Kon guracja serwera jest bardzo prosta i wymaga mody kacji pliku kon guracyjnego /etc/exports(5). Plik ten zawiera listę katalogów, które będą udostępniane innym systemom. Oto przykład takiego pliku: /home lab1(rw) Po nazwie katalogu znajduje się lista komputerów, które będą miały prawo odwoływania się do tego katalogu. W nawiasach znajdują się dodatkowe opcje eksportowania takiego katalogu. Lista komputerów może zawierać nazwy w postaci domenowej (również z użyciem znaków uogólniających), adresy IP komputerów (i adresy sieci), odwołania do grup sieciowych. Oto przykład bardziej rozbudowanej kon guracji: /home *.cs.put.poznan.pl(ro) lab?.cs.put.poznan.pl(rw) /usr 192.168.0.0/255.255.255.0(async,rw) /export @lab

1.2 Kon guracja serwera 8 W przykładzie katalog /home został udostępniony wszystkim komputerom z domeny cs.put.poznan. pl do odczytu i wszystkim komputerom o nazwach zaczynających się od lab z tej samej domeny w trybie do zapisu. Katalog /usr jest udostępniany wszystkim komputerom o adresach od 192.168.0.1 do 192.168.0.254 w trybie asynchronicznym. Katalog /export udostępniany jest wszystkim komputerom z grupy sieciowej lab (zobacz dalej). Szczegółowy opis dostępnych opcji można znaleźć na stronie pomocy systemowej exports(5). 1.2.1 Uruchomienie serwera wymaga wystartowania odpowiednich procesów usługowych. System NFS implementowany jest poprzez 2 protokoły (mountd i nfs), stąd 2 programy usługowe. Po uruchomieniu pierwszego z nich: # rpc.mountd będzie możliwe odpytanie serwera o listę dostępnych zasobów: # showmount -e Export list for localhost: /export @lab /home lab?.cs.put.poznan.pl,*.cs.put.poznan.pl /usr 192.168.0.0/255.255.255.0 Próba dołączenia systemu plików skończy się jednak zawieszeniem operacji mount. Do poprawnej pracy niezbędny jest drugi proces usługowy: # rpc.nfsd odpowiedzialny za właściwy dostęp do danych. 1.2.2 Rekon guracja Każda zmiana wprowadzona do pliku /etc/exports wymaga powiadomienia procesów usługowych serwera NFS. Można to zrobić wysyłając sygnał HUP do obu procesów usługowych: # ps -ax... # kill -HUP 2345 2456 Wartości 2345 i 2456 są identy katorami procesów rpc.mountd i rpc.nfsd. Można również wykorzystać do tego celu polecenie pkill(1): # pkill -HUP rpc.mountd # pkill -HUP rpc.nfsd lub killall(1): # killall -HUP rpc.mountd rpc.nfsd 1.2.3 Grupy sieciowe Ograniczanie dostępu do katalogów na serwerze NFS może się odbywać w oparciu o grupy sieciowe. Grupa sieciowa kon gurowana jest w pliku /etc/netgroup(5) i składa się z trójek wartości: (komputer, użytkownik, domena)

1.3 Mapowanie użytkowników 9 Każda z tych wartości może być pominięta. Z punktu widzenia zastosowania grup sieciowych do kon guracji systemu NFS najważniejsza jest możliwość de niowania grup komputerów. Poniższy przykład pokazuje de nicję grupy lab składającej się z komputerów lab1, lab2, lab3: lab (lab1,, ) (lab2,, ) (lab3,, ) W pliku kon guracyjnym /etc/exports odwołania do grup sieciowych poprzedzone są znakiem @: /home @lab(rw,async) 1.3 Mapowanie użytkowników Identy kacja użytkowników w systemie NFS odbywa się na podstawie ich identy katorów numerycznych. Oznacza to, że w przypadku niezgodności w kon guracji użytkowników pomiędzy systemami klienta i serwera może dojść do nieuprawnionego dostępu do danych. Z tego powodu w domyślnej kon guracji konto użytkownika root podlega mapowaniu na użytkownika o identy katorze -2 (65534). Działanie to można kontrolować następującymi parametrami eksportowania katalogów: root_squash włączenie mapowania użytkownika o identy katorze 0 (root) na użytkownika o identy katorze -2 (nobody) no_root_squash wyłączenie mapowania użytkownika 0 all_squash mapowanie wszystkich użytkowników na identy kator 2 anonuid=500 anonguid=500 identy kator użytkownika anonimowego identy kator grupy użytkownika anonimowego Poniższy przykład pokazuje kon gurację serwera NFS udostępniającego katalogi domowe użytkownikom systemów innych niż Unix: /home/pc1 /home/pc2 /home/pc3 pc1(rw,all_squash,anonuid=1001,anongid=100) pc2(rw,all_squash,anonuid=1002,anongid=100) pc3(rw,all_squash,anonuid=1003,anongid=100) W przykładzie użytkownik o identy katorze 1001 korzysta z komputera o nazwie pc1 i należy do grupy o identy katorze 100. Serwer NFS udostępnia jego katalog domowy tylko dla komputera pc1. Analogicznie użytkownicy 1002 i 1003 korzystają z komputerów pc2 i pc3. 1.3.1 Mapowanie statyczne Serwer może wprowadzić statyczną tabelę odwzorowań użytkowników z systemu klienta na użytkowników serwera. Wymaga to wyspecy kowania dodatkowej opcji w kon guracji, wskazującej na plik z odwzorowaniami: /home lab1.cs.put.poznan.pl(rw,map_static=/etc/nfs.map) Nazwa pliku wskazywanego opcją map_static jest dowolna. Zawartość (przykładowego) pliku /etc/ nfs.map de niuje odwzorowania poszczególnych użytkowników: uid 0-99 - # mapowanie do nobody uid 100-500 1000 # mapowanie 100-500 na 1000-1400 gid 0-49 - # mapowanie id grup 0-49 na -2 gid 50-100 700 # mapowanie grup 50-100 na 700-750

1.4 Automonter 10 1.3.2 Mapowanie dynamiczne Wadą mapowania statycznego jest oczywiście jego statyczność. Rozwiązanie dynamiczne polega na uruchomieniu po stronie klienta dodatkowej usługi, której zadaniem jest udostępnianie informacji o odwzorowaniach identy katorów użytkowników na nazwy. W celu jej aktywacji należy po stronie klienta uruchomić proces rpc.ugidd(8): # rpc.ugidd a do kon guracji serwera dopisać nową opcję: /home 1.3.3 WebNFS *.cs.put.poznan.pl(rw,map_daemon) WebNFS to rozszerzenie standardowego protokołu NFS o możliwość pobierania plików za pośrednictwem publicznego uchwytu do plików. Umożliwia to proste pobieranie plików np. przez przeglądarki internetowe. Kon guracja wymaga wskazania głównego katalogu dla WebNFS i udostępnienia wybranych katalogów w zwykły sposób. Oto przykładowa kon guracja: /test =public /test *.cs.put.poznan.pl(ro,all_squash,insecure) W przeglądarce należy wpisać odpowiedni adres URL: nfs://sirius.cs.put.poznan.pl/plik.txt Przeglądarka Konqueror obsługuje rozszerzenie WebNFS. 1.4 Automonter Dołączanie systemów plików może być automatyzowane za pomocą uzupełniającego oprogramowania uruchamianego po stronie klienta o nazwie automounter. Kon guracja automontera opiera się na głównym pliku kon guracyjnym /etc/auto.master(5) oraz na plikach uzupełniających /etc/ auto.xxxxx. W pliku /etc/auto.master wskazywane są katalogi, które będą kontrolowane przez oprogramowanie automontera: /home /etc/auto.home /a /etc/auto.a Nazwa pliku pojawiająca się po nazwie katalogu wskazuje na szczegółowy plik kon guracyjny opisujący dany katalog. Uruchomienie usługi polega na wykonaniu komendy: # automount /etc/auto.master W fazie testów warto wykorzystać przełącznik -d komendy automount załączający tryb rejestracji wykonywanych operacji. Dane dla automontera mogą również pochodzić z systemu NIS (zobacz rozdział??). Szczegółowy opis kon guracji znajduje się stronie pomocy systemowej autofs(5). Działanie automontera sprowadza się do monitorowania odwołań do podkatalogów kontrolowanego katalogu. W przypadku stwierdzenia odwołania do zde niowanego katalogu następuje jego dołączenie, zgodnie ze wskazaniami z pliku kon guracyjnego. Poniższy przykład prezentuje kon gurację z pliku /etc/auto.home: user1 sirius:/home/user1 user2 galio:/export/home/user2 user3 -fstype=ext3,rw :/dev/sda4

1.5 NFSv4 11 W pierwszej kolumnie znajdują się nazwy podkatalogów kon gurowanego katalogu. Druga kolumna (opcjonalna) zawiera dodatkowe opcje montowania systemu plików. Trzecia kolumna to wskazanie na system plików. Zakładając powyższą kon gurację wykonanie komendy: # ls /home/user1 spowoduje dołączenie zdalnego katalogu /home/user1 z systemu sirius. Katalog domowy użytkownika user3 dołączany jest z lokalnego systemu plików, co powoduje wykonanie przez automontera komendy: # mount -o rw -t ext3 /dev/sda4 /home/user3 W przypadku kon guracji katalogów domowych użytkowników, których pliki znajdują się w podkatalogach jednego wspólnego katalogu, można zastosować zapis skrócony: * sirius:/export/home/& Znak * oznacza w tym miejscu dowolny ciąg znaków, który zostanie następnie użyty w miejscu wystąpienia znaku &. Odwołanie do katalogu /home/abc spowoduje więc próbę dołączania katalogu /export/home/abc z systemu sirius. 1.4.1 Zwiększanie dostępności Automonter umożliwia zwiększanie dostępności zdalnych katalogów poprzez ich replikację. Zakładając, że serwery srv1 i srv2 udostępniają to samo oprogramowanie w katalogu /usr/local, można rozważyć następującą kon gurację: local srv1,srv2:/usr/local Jeżeli te same dane rozlokowane są w różnych lokalizacjach, można użyć poniższego zapisu: local srv1:/usr/local srv2:/opt/local W przykładzie wskazano na dwa źródła dla podkatalogu local co oznacza, że niemożność dołączenia tego katalogu z systemu srv1 spowoduje dołączenie go z srv2. Ponieważ cała operacja będzie niewidoczna dla użytkownika, jedynym efektem tej kon guracji będzie zwiększona dostępność zdalnego katalogu. Mechanizm ten można połączyć z wykorzystaniem wzorca *: * srv1:/home/& srv2:/home/& W tym przypadku katalogi domowe będą pobierane z serwera srv1 lub z serwera srv2. 1.4.2 Wielokrotne montowanie Istnieje możliwość montowania jednocześnie wielu podkatalogów ze zdalnych serwerów. Oto przykład takiej kon guracji: bin /i586 srv1:/usr/bin /x86_64 srv2:/usr/bin Katalog bin będzie w tym przypadku zawierał dwa podkatalogi i586 oraz x86_64, które będą dołączane z serwerów srv1 i srv2. 1.5 NFSv4 1. Upewnij się, że jest zainstalowany pakiet nfs-kernel-server. 2. Przykładowa zawartość pliku /etc/exports w przypadku serwera NFSv4:

1.5 NFSv4 12 /kat1 *(rw,fsid=0,no_subtree_check) 3. Kon guracja odwzorowań nazw użytkowników plik /etc/idmapd.conf(5): [General] Verbosity = 1 Pipefs-Directory = /var/lib/nfs/rpc_pipefs Domain = cs.put.poznan.pl [Mapping] Nobody-User = nobody Nobody-Group = nobody Odwzorowania nazw użytkowników muszą być skon gurowane zarówno po stronie serwera jak i klienta. 4. Uruchomienie usługi idmapd (po stronie serwera i klienta): # mount -t rpc_pipefs rpc_pipefs /var/lib/nfs/rpc_pipefs # rpc.idmapd lub w wersji ostatecznej po stronie klienta: # service nfs start 5. Uruchomienie serwera NFS: # rpc.mountd # rpc.nfsd # rpc.statd lub korzystając ze standardowego skryptu startowego: 6. Montowanie: # service nfsserver start # mount -t nfs4 srv:/ /mnt 7. Monitorowanie nfsstat. 8. Rekon guracja serwera jest możliwa z użyciem komendy exportfs(8): # exportfs -r Powyższe polecenie umożliwia również dynamiczne dodawanie i usuwanie katalogów przeznaczonych do udostępnienia, co ilustruje poniższy przykład: # exportfs <== działa analogicznie do showmount -e /usr 192.168.0.0/255.255.255.0 /home *.cs.put.poznan.pl /home lab?.cs.put.poznan.pl # exportfs -u *.cs.put.poznan.pl:/home # exportfs -v /usr 192.168.0.0/255.255.255.0(rw,async,wdelay,root_squash) # exportfs -o ro lab1.cs.put.poznan.pl:/home # exportfs -v /usr 192.168.0.0/255.255.255.0(rw,async,wdelay,root_squash) /home lab1.cs.put.poznan.pl(ro,async,wdelay,root_squash) Przełącznik -u umożliwia usuwanie katalogu z listy udostępnianych katalogów. Przełącznik -v włącza wyświetlanie dodatkowych informacji (np. opcji eksportowania katalogu). Przełącznik -o powoduje ustawienie opcji eksportowanego katalogu. 9. Udostępnianie kilku różnych katalogów:

1.5 NFSv4 13 /kat1 /kat1/ext1 /kat1/ext2 *(rw,fsid=0,no_subtree_check) *(rw,nohide,no_subtree_check) *(rw,nohide,no_subtree_check) Montowanie zewnętrznych katalogów do katalogu eksportowanego na serwerze: # mount --bind /usr/local /kat1/ext1 # mount --bind /images /kat1/ext2 Montowanie katalogu po stronie klienta: # mount -t nfs4 srv:/ext1 /mnt # mount -t nfs4 srv:/ext2 /mnt2 10. Kon guracja usługi automontera: dodatkowa opcja -fstype=nfs4. 11. Eksportowanie katalogów jednocześnie w trybie NFSv4 i NFSv3. 12. NFSv3/NFSv4 a ACL. Dokumentacja Strony pomocy systemowej: mount(8), nfs(5), autofs(5), autofs(8), automount(8), auto.master(5). Inne: http://www.novell.com/coolsolutions/feature/17581.html Zadania 1. Dołącz wybrany system plików z dyskietki lub CD-ROMu do katalogu /mnt. 2. Dołącz wybrany system plików NFS do katalogu /mnt. 3. Skon guruj serwer NFS udostępniając przykładowy katalog, np. /test. Udostępnij katalog w trybie do odczytu, a następnie do zapisu dla wybranych komputerów. Zwery kuj możliwość zapisu w katalogu zdalnym z poziomu użytkownika root i zwykłego użytkownika. 4. Sprawdź odporność klienta systemu NFS na przejściowe awarie serwera. W tym celu zatrzymaj na chwilę działanie procesów serwera NFS. 5. Sprawdź różnicę między trybami pracy dołączania zdalnego katalogu: hard, soft i połączenie hard,intr. 6. Sprawdź działanie pamięci podręcznej po stronie klienta NFS. W tym celu jednocześnie wyświetlaj zawartość katalogu po stronie klienta i zmieniaj ją po stronie serwera. Ćwiczenie wykonaj również po całkowitym wyłączeniu mechanizmu pamięci podręcznej dla metadanych (opcja noac). 7. Skon guruj serwer NFS do pracy w trybie statycznego mapowania użytkownika ze stacji roboczej o identy katorze 1500 na użytkownika o tej samej nazwie i identy katorze 1600 po stronie serwera. Zastosuj mapowanie statyczne i dynamiczne. 8. Sprawdź bieżącą kon gurację katalogów automontera: /a/local, /a/mail. 9. Skon guruj oprogramowanie automontera tak, aby umożliwiało dołączanie systemów plików z napędów CD-ROM i zdalnego katalogu poprzez system plików NFS. 10. Sprawdź możliwość zwiększania niezawodności dostępu do replikowanych danych poprzez odpowiednią kon gurację automontera.

2 Pakiet Samba 2.1 Klient protokołu SMB/CIFS 1. Wyświetlenie zasobów w otoczeniu sieciowym komendą findsmb(1): # findsmb IP ADDR NETBIOS NAME WORKGROUP/OS/VERSION ------------------------------------------------------------------- 192.168.0.45 GALIO [MYGROUP] [Windows 5.0] [Windows 2000] 192.168.0.1 SIRIUS +[MYGROUP] [Unix] [Samba 3.5.4] oraz komendą smbtree(1): # smbtree -b Enter root s password: MYDOMAIN \\galio Samba Server \\galio\pub \\galio\ipc$ IPC Service (Samba Server) # smbtree -b -U student 2. Testowanie nazw wymaga uruchomienia serwera nazw protokołu NetBIOS: # service nmb start 3. Odpytywanie nazw nmblookup(1): # nmblookup galio querying galio on 192.168.0.255 192.168.0.1 galio<00> 4. Wyświetlanie listy zasobów zdalnego systemu: # smbclient -L galio added interface ip=192.168.0.1 bcast=192.168.0.255 nmask=255.255.255.0 Password: ******** Domain=[MYDOMAIN] OS=[Unix] Server=[Samba 3.5.6] Sharename Type Comment --------- ---- ------- IPC$ IPC IPC Service (Samba 3.5.6) ADMIN$ Disk IPC Service (Samba 3.5.6)

2.2 Serwer protokołu SMB/CIFS 15 hp Printer HP LaserJet 5MP Postscript pub Disk Katalog testowy Server Comment --------- ------- DCS-CSL Samba 3.5.6 Workgroup Master --------- ------- MYDOMAIN 5. Operacje na zdalnym zasobie: # smbclient //galio/pub -U wojtek Enter wojtek s password: Domain=[MYDOMAIN] OS=[Unix] Server=[Samba 3.5.6] smb: \> help... smb: \> ls... a) Pobierz wybrany plik ze zdalnego katalogu b) Wstaw nowy plik z lokalnego systemu c) Załóż nowy katalog d) Przetestuj obsługę polskich liter w nazwach plików i katalogów 6. Przetestuj obsługę zdalnego katalogu w przeglądarce Konqueror wpisując odpowiedni adres URI, np.: smb://galio/pub 7. Podmontuj zdalny katalog do lokalnego systemu plików: # mount -t cifs -o username=wojtek //galio/pub /mnt 8. Zapoznaj się z programem smb4k(1). 2.2 Serwer protokołu SMB/CIFS 2.2.1 Uruchomienie 1. Przygotuj prosty plik kon guracyjny serwera /etc/samba/smb.conf(5): [global] workgroup = MYGROUP passdb backend = smbpasswd server string = Serwer testowy [abc] path = /tmp/abc writable = yes browsable = yes 2. Uruchom serwer: # service smb start 3. Ustaw hasło dla protokołu SMB/CIFS dla użytkownika komendą smbpasswd(8):

2.2 Serwer protokołu SMB/CIFS 16 # smbpasswd -a wojtek lub komendą pdbedit(8): # pdbedit -a wojtek Hasła są zapisywane do pliku /etc/samba/smbpasswd lub do pliku /etc/samba/passdb.tdb, gdy opcja passdb backend ma wartość tdbsam. 4. Odwołaj się do zasobu programem smbclient testując możliwość zapisu w zdalnym katalogu. 2.2.2 Kompatybilność systemów Unix/Windows 1. Przetestuj obsługę rozróżnienia małych/wielkich liter tworząc po stronie systemu Unix pliki: a.txt A.txt z różną zawartością. Sprawdź dostępność tych plików poprzez protokół SMB/CIFS. 2. Przetestuj obsługę atrybutu ukryty tworząc po stronie systemu Unix plik zaczynający się od kropki. Dodaj do kon guracji zasobu parametr hide files: [abc] path = /tmp/abc hide files = /*.tmp/q*/ Inne opcje tego typu: hide special files, hide unreadable, hide unwritable files. 3. Sprawdź mapowanie atrybutu archive. Opcje kontrolujące mapowanie: map archive, map readonly, map system. 4. Przetestuj możliwość składowania atrybutów systemu DOS jako rozszerzonego atrybutu w systemie Unix. Wymaga to dodania globalnej opcji kon guracyjnej: store dos attributes = yes Po podłączeniu do serwera atrybuty można ustawiać komendą setmode, np.: smb: \> setmode test.txt +h 5. Opcje kontrolowania praw dostępu do nowotworzonych plików/katalogów: create mask = 0700 directory mask = 0770 force create mode = 0660 force directory mode = 0660 force user = wojtek force group = staff 2.2.3 Kontrola dostępu 1. Przetestuj mechanizmy ograniczania dostępu do zasobu: [abc] path = /tmp/abc hosts allow = 192.168.0.2 \ 10.0.0.0/255.255.255.0 \ @staff hosts deny = ALL valid users = wojtek, basia invalid users = root

2.3 Kontroler domeny 17 2. Ukrywanie plików: read list = wojtek write list = basia veto files = /*.bak/.*/ 2.2.4 Monitorowanie serwera 1. Przetestuj działanie programu smbstatus(1) z przełącznikami -b, -d, -p. 2. Przetestuj działanie komendy net(8): # net status sessions PID Username Group Machine ------------------------------------------------------------------------- 8874 inf12345 students lab-43-3 (::ffff:150.254.131.104) 8930 inf54321 students lab-43-2 (::ffff:150.254.131.103) 3. Sprawdź poprawność kon guracji programem testparm(1). 2.2.5 Program administracyjny Swat Program swat jest serwerem usługi WWW umożliwiającym gra czne zarządzanie serwerem Samba. Uruchomienie usługi wymaga dodania odpowiednich zapisów do kon guracji serwerów inetd lub xinetd. W przypadku serwera inetd należy dodać następującą linię do pliku /etc/inetd.conf: swat stream tcp nowait.400 root /usr/sbin/swat swat W przypadku serwera xinetd należy dodać plik kon guracyjny /etc/xinetd.d/swat z następującą zawartością: service swat { socket_type = stream protocol = tcp wait = no user = root server = /usr/sbin/swat only_from = 127.0.0.1 log_on_failure += USERID disable = no } Po rekon guracji należy poinformować serwery o zmianie wykonując jedną z komend: # service inetd reload # service xinetd reload Dostęp do aplikacji swat jest możliwy poprzez przeglądarkę pod adresem http://localhost:901/. 2.3 Kontroler domeny W poniższym opisie PDC oznacza kontroler domeny a WS stację roboczą. 1. PDC: Przygotuj kon gurację kontrolera domeny: [global] workgroup = MYDOMAIN

2.3 Kontroler domeny 18 security = user passdb backend = smbpasswd os level = 33 local master = yes preferred master = yes domain logons = yes domain master = yes logon script = login.bat logon path = \\%L\%U\WinProfile logon drive = Q: [netlogon] path = /var/lib/samba/netlogon comment = Skrypty logowania writable = no [homes] comment = Katalogi domowe browseable = no writable = yes Nowa kon guracja wymaga restartu usług nmb i smb. 2. PDC: Założenie konta maszynowego dla każdej stacji roboczej, która będzie dołączana do domeny. Konto maszynowe ma taką nazwę jak nazwa komputera z dodanym znakiem $ na końcu: # useradd galio$ 3. PDC: Ustawienie hasła dla administratora sieci SMB/CIFS na kontrolerze domeny czyli użytkownika, który ma prawo mody kować plik z hasłami: # pdbedit -a root 4. WS: Dodanie stacji roboczych Windows do domeny wymaga wpisania nazwy domeny w ustawieniach nazwy komputera i uwierzytelnienia kontem administratora domeny. Dodanie komputera powoduje zainicjowanie hasła na koncie maszynowym. Uwaga: Dodanie systemu Windows 7 do domeny wymaga wcześniejszego zaaplikowania drobnej zmiany kon guracji w rejestrze. Odpowiednia mody kacja jest wskazana w pliku Win7_ Samba3DomainMember.reg dołączonym do pakietu Samba (katalog /usr/share/doc/packages/ samba/registry). 5. WS: Dodanie uniksowej stacji roboczej do domeny wymaga mody kacji pliku kon guracyjnego smb.conf: [global] workgroup = MYDOMAIN security = domain Następnie należy wykonać komendę: # net rpc join -U root gdzie root jest administratorem sieci SMB/CIFS. 6. PDC: Założenie kont dla użytkowników. Każdy użytkownik musi mieć zde niowane zarówno konto uniksowe, jak i hasło dla protokołu SMB:

2.4 Pakiet Winbind 19 # useradd -m wojtek # pdbedit -a wojtek Przełącznik -m powoduje utworzenie katalogu domowego użytkownika. 7. WS: Założenie kont uniksowych dla użytkowników na stacji roboczej: # useradd wojtek 8. PDC: Zde niowanie mapowania grup użytkowników na kontrolerze domeny: # net groupmap add unixgroup=users ntgroup= Domain Users rid=513 Powyższa komenda spowoduje utworzenie grupy Domain Users, której członkami będą użytkownicy należący do uniksowej grupy users. Parametr rid=513 powoduje odwołanie do prede niowanej grupy. Inne prede niowane wartości RID (relative identi er) są podane w tabeli 2.1. Aktualne odwzorowania grup można wyświetlić komendą list: # net groupmap list Domain Users (S-1-5-21-3998994985-691964950-3499818267-513) -> users... 9. PDC: Przygotowanie skryptu startowego login.bat: @echo off net use X: \\galio\pub start iexplore.exe Skrypt do logowania powinien być poprawnym plikiem tekstowym dla systemów Windows (zakończenia linii). Plik taki można przygotować edytorem vim, po wykonaniu komendy :set fileformat=dos. 2.4 Pakiet Winbind Pakiet Samba umożliwia bezpośrednie pobieranie informacji o użytkownikach z serwera PDC bez konieczności tworzenia użytkowników w systemie Unix. Funkcjonalnie jest to rozwiązanie analogiczne do systemów LDAP czy NIS. Uwaga: Podczas kon guracji oprogramowania winbind trzeba wyłączyć usługę nscd (buforowanie informacji katalogowych). 2.4.1 Kon guracja Kon guracja stacji roboczej, która ma być dołączona do kontrolera domeny wymaga wykonania następujących czynności: 1. Uzupełnij kon gurację w pliku smb.conf o ustawienia dla oprogramowania winbind: [global].. idmap uid = 10000-20000 idmap gid = 10000-20000 winbind enum users = yes winbind enum groups = yes template homedir = /home/%u template shell = /bin/bash gdzie %U oznacza nazwę użytkownika.