Zbigniew S. Szewczak Podstawy Systemów Operacyjnych



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

Zbigniew S. Szewczak Systemy Operacyjne. Wykład 3 Samba.

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

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

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

Zbigniew S. Szewczak Systemy Operacyjne. Wykład 4 Sieciowe systemy operacyjne.

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

Serwer plików i drukarek Samba

System operacyjny Linux

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

MODEL WARSTWOWY PROTOKOŁY TCP/IP

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

Oprogramowanie Samba. Krzysztof Boryczko Remigiusz Górecki

Praca w sieci równorzędnej

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

Plan wykładu. 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6.

Samba, instalacja i konfiguracja

Wykład 5 Usługa DNS i SMB

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

SAMBA DOKUMENTACJA DO PREZENACJI. Mateusz Zimny Dawid Winiarz

Samba plik konfiguracyjny serwera

Instrukcja konfiguracji funkcji skanowania

Sieci równorzędne, oraz klient - serwer

Praca w sieci z serwerem

Samba plik konfiguracyjny klienta

MASKI SIECIOWE W IPv4

Sieciowe systemy operacyjne

Usługi sieciowe systemu Linux

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)

Zadanie1: Wykorzystując serwis internetowy Wikipedii odszukaj informacje na temat usługi WINS.

Wstęp... ix. 1 Omówienie systemu Microsoft Windows Small Business Server

10.2. Udostępnianie zasobów

System operacyjny Linux

Instalacja i konfiguracja rouera ASMAX AR 904u. Neostrada, Netia

Konfiguracja i administracja serwerem SAMBA

Wymagania do zdalnej instalacji agentów firmy StorageCraft

Protokoły sieciowe - TCP/IP

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

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

ABA-X3 PXES v Podręczna instrukcja administratora. FUNKCJE SIECIOWE Licencja FDL (bez prawa wprowadzania zmian)

Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego

Sprawozdanie. (notatki) Sieci komputerowe i bazy danych. Laboratorium nr.3 Temat: Zastosowanie protokołów przesyłania plików

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

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

PROFESJONALNE SYSTEMY BEZPIECZEŃSTWA

NIS/YP co to takiego?

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

Zakład Systemów Rozproszonych

ABC systemu Windows 2016 PL / Danuta Mendrala, Marcin Szeliga. Gliwice, cop Spis treści

4. Podstawowa konfiguracja

Instrukcje dotyczące systemu Windows w przypadku drukarki podłączonej lokalnie

INSTRUKCJA OBSŁUGI DLA SIECI

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

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

Wykład 4: Protokoły TCP/UDP i usługi sieciowe. A. Kisiel,Protokoły TCP/UDP i usługi sieciowe

Telefon AT 530 szybki start.

SMB jako rozproszony system plików Prezentacja na SO

Klasy adresów IP. Model ISO - OSI. Subnetting. OSI packet encapsulation. w.aplikacji w.prezentacji w.sesji w.transportowa w.

Testy penetracyjne Przykłady programów

Charakterystyka sieci klient-serwer i sieci równorzędnej

"Klasyczna" struktura systemu operacyjnego:

Protokół sieciowy: Zbiór formalnych reguł i konwencji dotyczących formatu i synchronizacji w czasie wymiany komunikatów między procesami

Kierunek: technik informatyk 312[01] Semestr: II Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

Instalacja systemów operacyjnych i tworzenie domeny

Konwerter RS-485->Ethernet [TCP/IP] CN-ETH-485 INSTRUKCJA [konfiguracja urządzenia do współpracy z programem MeternetPRO]

SMB protokół udostępniania plików i drukarek

Bezpieczeństwo systemów informatycznych

Spis treści. Wstęp Rozdział 1. Zasady pracy z komputerem Rozdział 2. Budowa komputera... 20

Tytuł: Instrukcja obsługi Modułu Komunikacji internetowej MKi-sm TK / 3001 / 016 / 002. Wersja wykonania : wersja oprogramowania v.1.

SIECI KOMPUTEROWE Protokoły sieciowe

11. Autoryzacja użytkowników

DLA DREAMBOX & FLASHWIZARD

Instrukcja podłączenia bramki IP 1R+L oraz IP 2R+L w trybie serwisowym za pomocą usługi telnet.

ZiMSK. mgr inż. Artur Sierszeń mgr inż. Łukasz Sturgulewski ZiMSK 1

Działanie komputera i sieci komputerowej.

Połączenia. Obsługiwane systemy operacyjne. Instalowanie drukarki przy użyciu dysku CD Oprogramowanie i dokumentacja

Model sieci OSI, protokoły sieciowe, adresy IP

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

ZiMSK. Charakterystyka urządzeń sieciowych: Switch, Router, Firewall (v.2012) 1

Samba jako serwer plików i logowania dla Windows.

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

Podstawowa konfiguracja routerów. Interfejsy sieciowe routerów. Sprawdzanie komunikacji w sieci. Podstawy routingu statycznego

Laboratorium - Poznawanie FTP

Wprowadzenie do Active Directory. Udostępnianie katalogów

Test. Administrowanie sieciowymi systemami operacyjnymi

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

Sieci komputerowe. Wykład dla studentów Informatyki Stosowanej i Fizyki Komputerowej UJ 2007/2008. Michał Cieśla

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

Administrowanie sieciami komputerowymi

PODSTAWOWA OBSŁUGA PROGRAMU PROGRAMU PACKET TRACER TRYB REAL TIME

Tworzenie aplikacji rozproszonej w Sun RPC

Telefon IP 620 szybki start.

Dfs - Distributed File System SMB - Server Message Block. 18 grudnia 2002

Seria wielofunkcyjnych serwerów sieciowych USB

Warstwy systemu Windows 2000

MONITOROWANIE WINDOWS Z NETCRUNCHEM 7 P A G E 1

Transkrypt:

Zbigniew S. Szewczak Podstawy Systemów Operacyjnych Wykład 14 Sieciowe systemy operacyjne Toruń, 2004

Terminy egzaminów I termin czwartek, 7.06.2004, p.313, g.11.00-13.00 - MSP środa, 9.06.2004, S7, g. 10.00-12.00 - Ir + lic środa, 9.06.2004, S7, g. 12.00-14.00 - IVr inf II termin środa, 23.09.2004, S7, g. 10.00-12.00 - Ir+ lic środa, 23.09.2004, S7, g. 10.00-12.00 - IVr inf

O czym będzie? Systemy sieciowe System sieciowy NFS System sieciowy SMB NetBIOS Protokół SMB/CIFS Funkcje Samby Struktura systemu Samba SMB w systemie Windows System sieciowy NCP

Sieciowy system komputerowy Sieciowy system komputerowy jest tą częścią systemu komputerowego, która dziedziczy odpowiedzialność za komunikowanie się komputerów poprzez łącza sprzęt - medium transmisji danych, karta sieciowa, modem system operacyjny - implementacja protokołu (TCP/IP, NetBEUI, IPX/SPX ) w jądrze sieciowy podsystem operacyjny : SMB, NFS, NCP inne systemy : Andrew FS (IBM), Coda FS (CMU) programy użytkowe - przeglądarka WWW, telnet, ftp użytkownicy: zdalny komputer, osoba używająca ftp

Sieciowe systemy operacyjne - modus operandi Sieciowy system operacyjny (ang. network operating system ) tworzy środowisko, w którym użytkownicy - świadomi wielości maszyn - uzyskują dostęp do zdalnych zasobów rejestrując się na odpowiednich zdalnych maszynach lub też użyczają zdalnie swoich lokalnych zasobów nadając im w tym celu na swojej maszynie stosowne uprawnienia do zdalnego dostępu zdalne zasoby: urządzenia we/wy (dyski, drukarki), procesory, pamięć operacyjna, (magistrala?)

Sieciowe systemy operacyjne - modus procedendi Aby sieciowe systemy operacyjne mogły się komunikować potrzebne są sieci komputerowe Komunikacja w sieci komputerowej odbywa się na podstawie ściśle określonego zbioru reguł zwanego protokołem Sieciowy system operacyjny realizuje zwykle wiele protokołów komunikowania się Protokoły komunikowania się klasyfikujemy według modelu OSI lub TCP/IP

Sieciowe systemy operacyjne - modus procedendi (c.d.) Problem sposobu komunikowania się model klient/serwer Protokoły sieciowe działają pomiędzy różnymi: architekturami komputerów reprezantacja danych: kolejność bajtów, rozmiary danych (np. liczby całkowite) systemami operacyjnymi realizacja we/wy na zdalnych komputerach

Porównanie protokołów warstwy OSI Netware UNIX Apple LAN Manager aplikacji prezentacji Netware Control Protocol (NCP) Network File System (NFS) Apple Share Appletalk File Protocol (AFP) Server Message Blocks (SMB) sesji Named Pipes NetBIOS SNMP SMTP NBTtelnet ASP ZIP PAP ADSP NetBIOS Named Pipes transportu sieciowa łącza danych fizyczna IPX IP Datagram Delivery Protocol (DDP) LAN drivers LAN drivers LAN drivers LAN drivers ODI SPX NDIS TCP Media Access Control ATP AEPNBP RTMP Localtalk Ethertalk Tokentalk NetBEUI NDIS fizyczna fizyczna fizyczna fizyczna

Sieciowe systemy operacyjne - warstwy sieciowe stos w komputerze 1 aplikacja stos w komputerze 2 aplikacja prezentacja prezentacja sesja sesja transport transport sieć sieć łącze danych łącze danych fizyczna (sprzęt sieciowy)

Warstwy modelu OSI Użytkowa (ang. Application) - usługi sieciowe (e-mail, FTP) Prezentacja (ang. Presentation) - reprezentacja danych (format) Sesja (ang. Session) - zarządzanie sesjami (login, exit) Transport - niezawodność transmisji Sieć (ang. Network) - wybór trasy (routing) Łącze (ang. Data Link) - transfer przez łącza Fizyczna (ang. Physical) - transfer binarny

Przykłady Systemy sieciowe NFS - Network File System, Sun Microsystem SMB - Serwer Messages Blocks, Microsoft Corp. NCP - Netware Core Protocol, Novell INC. Inne systemy sieciowe RFS - AT&T (Unix SVR3) AFS - Andrew File System, IBM+Carnegie-Mellon University DFS -Transarc Protokoły wartstwy transportowej i sieciowej TCP/IP - Internet, IPX/SPX - Novell, NetBEUI - Microsoft Inne protokoły: PPP, SLIP

Przykłady (c.d.) Realizacja we/wy w modelu klient/serwer RPC (ang. remote procedure call) - wywoływanie procedur zdalnych - Birrell, Nelson (1984) Implementacja mechanizmu RPC firmy Sun zbiór narzędzi oraz funkcji bibliotecznych - public domain XDR (ang. external data representation)- rozszerzona reprezentacja danych /etc/rpc - usługi oparte na RPC : portmapper, nfs,...

Przykłady implementcji Klienci Unix - mount smb, nfs, ncp Windows - SFU, ProNFS, Solstice nfs oprogramowanie typu public domain Serwery Unix - nfsd nfs Windows - SFU, ProNFS, Solstice nfs

Przykłady implementacji (c.d.) Linux - Mars ncp Linux - Samba smb SMB - Windows smb System Netware www.wown.com/j_helmig/unixnfs.htm

Model klient/serwer Komunikację w sieciowym systemie operacyjnym realizowana jest na zasadzie klient-serwer (np. jak w sklepie) Model klient/serwer oznacza zaangażowanie lokalnego programu klient oraz zdalnego programu serwer do wymiany informacji przy udziale sieciowego systemu operacyjnego Program serwera czeka biernie na kontakt, zaś program klienta aktywnie inicjuje połączenie aby postawić serwerowi do realizacji zlecenie

Architektura klient/serwer Usługi warstwy prezentacji Oprogramowanie klienta Sieciowy system operacyjny klienta polecenie odpowiedź Protokół sieciowy Oprogarmowananie serwera Sieciowy system operacyjny serwera System operacyjny klienta Sprzęt klienta Połączenie sieciowe System operacyjny serwera Sprzęt serwera

Charakterystyka klienta dowolny program użytkowy wywoływany przez użytkownika działa lokalnie na komputerze osobistym aktywnie inicjuje kontakt z serwerem może współpracować z wieloma serwerami jednocześnie nie wymaga specjalnego sprzętu i systemu

Charakterystyka serwera specjalizowany, uprzywilejowany program uruchamiany przez administratora systemu działa na publicznie dostępnym komputerze czeka pasywnie na zgłoszenia od dowolnych klientów przyjmuje zlecenia od wielu zdalnych klientów na tę samą usługę wymaga wydajnego sprzętu i wyrafinowanego systemu operacyjnego (np. Linux)

System sieciowy Linuxa Jądro systemu Linux realizuje protokoły sieciowe m.in. protokoły TCP/IP, IPX/SPX, SMB System Linux ma zaimplementowane systemy sieciowe NFS (Network File System) NCP (Network Control Program) - mars SMB (Server Message Block) - samba Generacja jądra systemu Linux

Model TCP/IP Użytkowa (ang. Application) - FTP, TFTP, HTTP, SMTP, DNS Transport - TCP Internet ( Network ) - IP Interfejs sieci (ang. Network Access) (Data Link + Physical ) - Ethernet Rudymentarne warstwy - Prezentacji i Sesji

NFS - Network File System Sun Microsystem, 1985 model klient/serwer mechanizm wywołania procedur zdalnych - RPC działa w oparciu o protokoły IP/UDP lub TCP architektura trójwarstwowa interfejs systemu plików Unixa wirtualny system plików (VFS) implementacja NFS serwer NFS eksportuje katalogi plików /etc/exports klient montuje katalog

NFS - Architektura klient interfejs odwołań do systemu serwer interfejs VFS interfejs VFS inne typy systemów plików systemy plików UNIX 4.2 klient NFS serwer NFS systemy plików UNIX 4.2 RPC/XDR RPC/XDR dysk sieć dysk

NFS - serwer (Linux) NFS jest protokołem zdalnego wywoływania procedur (RPC) działa w oparciu o protokoły IP/UDP lub TCP wywołanie systemowe w przypadku we/wy na zdalny plik przejmowane i obsługiwane przez zdalny serwer dynamiczne przypisywanie numerów portów (portmapper) /etc/rc.d/init.d/portmap - startowany automatycznie rpcinfo -p Wersje NFS NFS v.2 - stare edycje Linuxa NFS v.3 - jądra 2.4 NFS v.4 - rozwijany (elemnety Andrew fs i Coda fs)

NFS - serwer (Linux) Demony NFS status - zgłasza raporty o awariach i przeładowaniach systemu do lokalnego managera rquotad - zdalny serwer kwot wymuszający dla systemów plików zamontowanych w NFS wielkość miejsca na dysku przydzieloną użytkownikom mountd - przetwarza żądania od klienta sprawdza czy system plików jest eksportowany sprawdza czy klient ma uprawnienia nfs - obsługuje interfejs poziomu użytkownika do modułu jądra NFS (nfsd.o) wykonuje operacje we/wy

NFS - serwer (Linux) (c.d.) Demony NFS (c.d.) nlockmgr - manager blokad NFS dostępu do plików pliki read-only nie wymagają blokady amd - demon automatycznego montowania NFS-HOWTO

NFS - serwer (Linux) (c.d.) rpcinfo -p program vers proto port 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 100011 1 udp 749 rquotad 100011 2 udp 749 rquotad 100005 1 udp 759 mountd 100005 1 tcp 761 mountd 100005 2 udp 764 mountd 100005 2 tcp 766 mountd 100005 3 udp 769 mountd 100005 3 tcp 771 mountd 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 300019 1 tcp 830 amd 300019 1 udp 831 amd 100024 1 udp 944 status 100024 1 tcp 946 status 100021 1 udp 1042 nlockmgr 100021 3 udp 1042 nlockmgr 100021 4 udp 1042 nlockmgr 100021 1 tcp 1629 nlockmgr 100021 3 tcp 1629 nlockmgr 100021 4 tcp 1629 nlockmgr

NFS - serwer (Linux) (c.d.) Uruchamianie NFS - /etc/rc.d/init.d nfs - skrypt do uruchomiania demonów netfs - skrypt do montowania plików z /etc/fstab używany również do montowania SMB amd - skrypt do uruchomiania amd autofs - skrypt do automatycznego montowania plików gdy wystąpi zapotrzebowanie na we/wy i demontowania jeśli nie są używanie inna implementacja automontera amd

NFS - serwer (Linux) (c.d.) Konfiguracja serwera NFS /etc/exports - exportowane pliki katalog [host(opcja)] host opcja pc313a.mat.uni.torun.pl *mat.uni.torun.pl 158.75.12.64/255.255.255.224 ro - tylko czytanie rw - czytanie i pisanie insecure - dopuszcza klientów o nr portów < 1024 noaccess - opcja do exportowania plików z wyłączeniem pewnych katalogów link_relative - odniesienie do katalogu głównego

NFS - serwer (Linux) (c.d.) Konfiguracja serwera NFS /etc/exports - (c.d.) opcja (c.d.) root_squash - odwzorwanie uprawnień roota na użytkownika anonimowego (nobody) nie wolno używać no_root_squash!!!! anonuid, anongid - przypisanie domyślnych uprawnień klientom z bez uprawnień (Windows) Polecenie exportfs przetwarza pliki z exports exportfs -a restart: exportfs -r dynamiczne dopisanie: exportfs pc313a:/mnt/cdrom -o ro

NFS - serwer (Linux) (c.d.) Polecenie exportfs (c.d.) dynamiczne usuwanie: exportfs -u Startowanie i zamykanie ręczne NFS cd /etc/rc.d/init.d./nfs start rpcinfo -p..../nfs stop

NFS - klient (Linux) Klient - trzeba znać nazwę hosta i katalogi showmount -e pc313a montowanie katalogów mount -t nfs hosts:nazwa-exp nazwa-katalogu mount -t nfs pc313a:/mnt/cdrom /mnt1 umount /mnt1 opcje polecenia mount exec - pozwól na wykonywanie plików noexec - nie pozwól na wykonywanie plików ro - montuj tylko na odczyt rw - montuj na zapis i odczyt remount - zamontuj z nowymi opcjami t - tryb dostępu do pliku

NFS - klient (Linux) Klient - montowanie za pomocą fstab montowanie katalogów podczas ładowania systemu hosts:nazwa-exp nazwa-katalogu nfs rw 0 0 pc313a:/mnt/cdrom /mnt1 nfs rw 0 0 automonter : dwie implementacje amd i autofs amd - plik /etc/amd.conf autofs - plik /etc/auto.master cd /etc/rc.d/init.d./autofs start./autofs reload./autofs stop

NFS - klient (Linux) (c.d.) Klient (c.d.) montowanie katalogów (c.d.) mount -t nfs rsize=x, wsize=y host:nazwa-exp nazwakatalogu mount -t nfs rsize=1024, wsize=1024 pc313a:/mnt/cdrom /mnt1 optymalizacja transferu time dd if=/dev/zero of=/mnt/testfile bs=16k count=16384 time dd if=/mnt1/testfile of=/mnt/null bs=16k Problemy bezpieczeństwa - CERT http://www.cert.org http://www.securityfocus.com/bugtraq/faq.html

NFS - klient (Linux) (c.d.) Problemy bezpieczeństwa (c.d.) portmapper /etc/hosts.deny portmap: ALL /etc/hosts.allow portmap: 158.75.12.64/255.255.255.224 /etc/exports /etc lab71(rw, root_squash) klient - opcja nosuid mount -o nosuid lab71:/sbin /mnt/sbin firewall http://www.linuxdoc.org/howto/ipchains-howto.html

Implementacje NFS - Windows Windows Services for Unix 3.0 (SFU) www.microsoft.com/windows/sfu ProNFS 1.8 www.labtam-inc.com Inne - download.com.com Omni-NFS Server (95/98/NT/2000) 4.12 Diskshare 4.0 for (95/98/NT/2000) 3.02 http://opensource.franz.com/nfs/ Solstice 3.1 - Windows 98

NFS - Windows - SFU Windows SFU 3.0 - wymagania 16 MB RAM 184 MB HDD czytnik CD-ROM Składniki oprogramowania NFS klient - NFS v.3 i v.2 NFS Server - NFS v.3 i v.2 NFS gateway dla Windows Telnet - serwer i klient Korn shell i C shell - ok. 350 komend i programów

NFS - Windows - ProNFS ProNFS 1.8 - wymagania W9x/ME/2K/XP 8 MB RAM 11 MB HDD SVGA Składniki oprogramowania NFS klient - NFS v.3 (RFC1813) i v.2 (RFC1094) NFS Server - NFS v.3 i v.2 pingnfs, NFSprobe lpd, lpr Xterm, tftp, ftp

NFS - Windows - Solstice Solstice 3.1 NFS, TCP/IP aplikacje internetowe (telnet, modem) szyfrowanie pakietów TCP/IP dostęp do aplikacji graficznych X-window Składniki oprogramowania NFS klient - NFS v.3 i v.2 z użyciem TCP i UDP NFS Server 2.0 LDP Serwer - lokalna drukarka udostępniana w Unixie

NFS - Windows - Solstice (c.d.) Serwer -Solstice 486 lub lepiej VGA (640x480) 10-40MB na dysku twardym CDROM, TCP/IP udostępnianie: otoczenie sieciowe->cała sieć->nfs servers->add/remove Instalacja z płyty

NFS - Windows - Unix Możliwe kombinacje klient SFU <=> serwer ProNFS klient Solstice <=> serwer Linux klient Linux <=> serwer Solstice klient Linux <=> serwer Linux

Pcnfsd Usługa autentyzacji i drukowania w Windows oparty o RPC - port 150001 /etc/pcnfsd.conf - plik konfiguracyjny potwierdza identyfikator i hasło oferuje możliwość drukowania na drukarce Unixowej Kontrola dostępu do zasobów Unixa: użytkownik w /etc/passwd z uid od 101 do 60002 uidrange nr1-nr2, nr3-nr4,... ftp.icm.edu.pl cd /pub/linux/sunsite/system/network/daemons/nfs get pcnfsd.linux.tgz

Pcnfsd (c.d.) Startowanie /etc/portmap /etc/rpc.pcnfsd rpcinfo -p program vers proto port 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 150001 1 udp 895 pcnfsd 150001 2 udp 895 pcnfsd 150001 1 tcp 898 pcnfsd 150001 2 tcp 898 pcnfsd kill rpc.pcnfsd Podajemy identyfikator użytkownika, hasło oraz adres serwera pcnfsd

Prezentacja działania NFS Serwer NFS - Linux ssh pc313a su mount /dev/cdrom /mnt/cdrom cd /etc more exports cd rc.d/init.d./nfs start ps -ax /usr/sbin/showmount -e pc313a

Prezentacja działania NFS (c.d.) Klient Solstice - Windows 98 Otoczenie sieciowe Cała sieć NFS Serwers pc313a cdrom Serwer NFS - Linux (c.d.)./nfs stop umount /mnt/cdrom

Systemy sieciowe Linuxa Jądro systemu Linux realizuje protokoły sieciowe m.in. protokoły TCP/IP, IPX/SPX, SMB System Linux ma zaimplementowane systemy sieciowe NFS (Network File System) NCP (Network Control Program) - mars SMB (Server Message Block) - samba Generacja jądra systemu Linux

Systemy sieciowe SMB Systemy operacyjne W9x/NT/2K, OS/2 używają standardowo SMB do komunikacji sieciowej klient/serwer Jakie są możliwości łączenia Windows i Linuxa? System Linux(serwer) - System Linux (klient) System Linux(serwer) - System Windows (klient) System Windows(serwer) - System Linux (klient) System Windows(serwer) - System Windows (klient)

System sieciowy Samba System sieciowy Samba to zbiór aplikacji działających zgodnie z protokołem SMB (Server Message Block) LAN Manager (Microsoft, 1987) OS/2 LAN Server (IBM, 1988) Twórcą Samby jest Andrew Tridgell z Canberry (Australia) Samba powstała w 1991 roku na potrzeby protokołu DEC firmy Digital Pathworks, który później okazał się protokołem SMB

Protokóły transportowe SMB SMB wymaga protokołu transportowego NetBIOS Frames protocol (NBF, NetBEUI) NetBIOS over TCP/IP (NBT, NetBT, RFCNB) NetBIOS over IPX NetBIOS over DECNet TCP/IP (CIFS) inne

Dialekty SMB SMB posiada wiele odmian (dialektów) Core - id: PC NETWORK PROGRAM 1.0 Extended 1.0 protocol - id: MICROSOFT NETWORKS 3.0 LAN Manager 1.0 - id: LANMAN1.0 Windows for Workgroups 3.1a LAN Manager 1.0 - id: LANMAN2.1 NT LAN Manager 1.0 (WNT) - id: NT LM 0.12 Samba NT LM 0.12 (Samba) - id: Samba CIFS (W2K) - id: CIFS 1.0

System sieciowy SMB/CIFS Microsoft przyczynił się do rozwoju Samby udostępniając definicję protokołu SMB oraz jego nowej internetowej odmiany zwanej CIFS (Common Internet File System) wprowadzonej w 1996 roku ftp://ftp.microsoft.com/developr/drg/cifs CIFS w Windows 2000 www.microsoft.com/windows2000/reskit/enus/cnet/cnad_arc_endh.asp Wiecej o CIFS http://ubiqx.org/cifs/

Po co nam Samba? Nic nie kosztuje Zastępuje serwer Windows NT Pozwala na współużytkowanie plików i drukarek w systemach Windows i Unix Umożliwia bardzo szybki transfer z/do komputerów systemu Windows Działa pod systemem Linux

NetBIOS W 1983 Sytek dla IBM opracował prosty interfejs programowy aplikacji (API-Application Programming Interface) do łączenia komputerów w sieć o nazwie NetBIOS (Network Basic Input/Output System) NetBIOS sieciowe rozszerzenie BIOS-a, musiał wymieniać instrukcje przez sieć (IBM PC) W 1985 roku IBM opracował niskopoziomowy protokół transportowy, który po scaleniu z NetBIOS nazwano: NetBIOS Extended User Interface (NetBEUI) - IBM NetBIOS Frames Protocol (NBF) - Microsoft

Nazwy NetBIOS Maksymalnie 15 znaków alfanumerycznych oraz! @ # $ % ^ & ( ) - { }. ~ Nazwy NetBIOS nie mogą rozpoczynać się od znaku * Gdy nazwy NetBIOSowe są wysyłane przez sieć są uzupelniane spacjami do 15 znaków oraz dodawany jest 16 znak określający typ nazwy Microsoft Knowledge Base: support.microsoft.com/support/bk/articles/q163/4/09.asp

NetBIOS nad TCP/IP Jak pogodzić protokół TCP/IP używający adresów IP z protokołem NetBIOS używającym tylko nazw Standard NBT (NetBIOS over TCP/IP) opisany w RFC 1001/1002 definiuje usługę nazewniczą - pozwalającą na tłumaczenie adresów IP na nazwy NetBIOS usługi komunikacyjne - pozwalające na transmisję w intersieci enkapsułowanych w datagramy TCP/IP pakietów NetBIOS pomiędzy komputerami NetBIOS-owymi datagramy sesje polecenia ogólne

NetBIOS nad TCP/IP (c.d.) Usługi nazw dodaj nazwę(unikatową,grupową) skasuj nazwę sprawdź czy nazwa jest zarejestrowana Usługi komunikacyjne Usługi sesji otwarcie sesji (czynne, bierne) wysłanie danych otwieranie danych zakończenie sesji Usługi datagramów wysłanie datagramu do adresata (do wszystkich) odebranie datagramu

NetBIOS nad TCP/IP (c.d.) Polecenia ogólne odtwórz stan początkowy (usuń dane z tablicy nazw) skasuj połączenie z serwerem Warto pamiętać Sesje są otwierane zawsze między dwoma i tylko dwoma komputerami NetBIOSowymi Jeśli sesja zostaje przerwana rzadko udaje się ją odtworzyć Datagramy mogą być rozgłaszane do wielu komputerów ale są zawodne

NBT - uzyskiwanie nazwy Rozgłaszanie IP - pakiet zawierający nazwę NetBIOS komputera jest rozgłaszany i host, który ją usłyszy swoją nazwę zwraca do źródła rozgłoszenia swój adres IP Plik lmhosts - odworowuje statycznie nazwy NetBIOS na adresy IP Serwer nazw NetBIOS (NBNS) - odwozorowuje nazwy NetBIOS na adresy IP dla swoich klientów DNS, plik /etc/hosts

NBT - typy węzłów Strategie klientów sieciowych podczas rejestrowania i rozgłaszania nazw b-węzeł (ang. broadcast-node)- rozwiązywanie adresów przez rozgłaszanie; skuteczne tylko w sieci LAN p-węzeł (ang. point-to-point-node)- IP - rozwiązywanie adresów przez wysłanie zapytania bezpośrednio do NBNS m-węzeł (ang. mixed-node)- najpierw działa jak b-węzeł a dopiero jeśli się nie powiedzie jako p-węzeł; podejście rzadko wykorzystywane h-węzeł (ang. hybrid-node)- najpierw działa jako p-węzeł a jeśli się nie powiedzie jako b-węzeł a jeśli i to się nie powiedzie, przeszukuje plik lmhosts

SMB/CIFS Domeny Windows grupa robocza to zbiór komputerów rezydujących w tej samej podsieci i zarejestrowanych w tej samej grupie SMB domena windows to grupa robocza wraz z serwerem pełniącym funkcje kontrolera domeny Kontrolery domeny są odpowiedzialne m.in. za uwierzytelnianie Uwierzytelnianie to proces zezwalania użytkownikowi na dostęp na podstawie hasła Po uwierzytelnieniu użytkownika uważa się za zalogowanego

SMB/CIFS (c.d.) Aktywny kontroler domeny jest nazywany podstawowym kontrolerem domeny (ang. Primary Domain Controller - PDC) Zapasowy kontroler domeny (ang. Backup Domain Controller - BDC) przejmuje zadania podstawowego kontrolera domeny gdy ulegnie on awarii lub stanie się niedostępny Samba nie może działać jako zapasowy kontroler domeny Udziały to zasoby udostępniane klientom (pliki,drukarki)

SMB/CIFS (c.d.) W sieci SMB/CIFS mamy do czynienia z dwoma typami przeglądania przeglądanie listy komputerów (ze współdzielonymi zasobami) przeglądanie współdzielonych zasobów konkretnego komputera Komputer odpowiedzialny za utrzymywanie listy komputerów dostępnych w sieci nazywamy główną przeglądarką lokalną a zarządzaną przez niego listę - listą przeglądania Otoczenie sieciowe NBNS nie musi być główną przeglądarką

Serwer WINS WINS (Windows Internet Name Service) jest implementacją serwera nazw NBNS firmy Microsoft CIFS wykorzystuje dynamiczny DNS Samba jest zgodna z WINS Aktywny serwer WINS nazywany jest serwerem podstawowym (PDC) Można zdefiniować serwer zapasowy WINS, który przejmuje działania w przypadku awarii serwera podstawowego (BDC)

Struktura komunikatu SMB Komunikat = nagłówek + łańcuch Nagłówek identyfikator - 0xFF534D42 (0xFF SMB ) kod polecenia (COM) - od 0x00 do 0xFF klasa błedu (RCLS) - 1B zarezerwowane (REH) -1B kod błędu (ERR) - 2B zarezerwowane (REB) - 1B zarezerwowane (RES) - 14B identyfikator drzewa (TID) - 2B identyfikator wywołującego procesu (PID) -2B identyfikator użytkownika (UID) - 2B identyfikator multipleksowy (MID) - 2B

Struktura komunikatu SMB (c.d.) Przykłady kod polecenia: 0x72 (SMBnegprot) - negocjuj dialekt SMB 0x70 (SMBtcon) - start połączenia 0x02 (SMBopen) - otwórz zbiór 0x29 (SMBcopy) - kopiuj (LANMAN1.0) Łańcuch - parametry polecenia lub odpowiedź liczba słów (WTC) - 1B słowa parametrów (VWV) - zmienna długość liczba bajtów danych (BCC) - 2B dane (DATA) - zmienna długość

Struktura komunikatu SMB (c.d.) Przykład użycia klient wysyła listę wszystkich zrozumiałych dialektów (komendą 0x72), serwer odpowiada (komendą 0x72) podając w łańcuchu numer pozycji wybrany z tej listy Więcej o komunikatach SMB ourworld.compuserve.com/homepages/timothydevans/smb. htm Więcej informacji o SMB/CIFS ftp://ftp.microsoft.com/developr/drg/cifs

Działanie SMB Połączenie między klientem a serwerem nawiązanie połączenia wirtualnego negocjacja dialektu SMB ustawienie parametrów sesji (np. kodowanie haseł) nawiązanie połączenia z zasobem Wszystkie etapy można zbadać przy pomocy zmodyfikowanej wersji programu tcpdump o nazwie tcpdump-smb http://www.samba.org/samba/ftp/tcpdump-smb należy użyć opcji -s 1500 aby przechwycić całe pakiety

Funkcje Samby Serwer plików Serwer wydruku Podstawowy kontroler domeny Uwierzytelnianie klientów Windows Główna przeglądarka domeny Podstawowy serwer WINS

Struktura Samby smbd - demon odpowiedzialny za zarządzanie zasobami współdzielonymi przez serwer Samby i jego klientów zapewnia klientom SMB dostęp do plików i drukarek oraz usługi przeglądania odpowiada za uwierzytelnianie użytkowników odpowiada za blokowanie zasobów odpowiada za współdzielenie danych przez protokół SMB serwujący zasoby (pliki, drukarki) dla klientów SMB

Struktura Samby (c.d.) nmbd - serwer nazw emulujący serwer WINS i serwer nazw NetBIOSowych pakietu LAN Manager oczekuje na żądania od klientów i dostarcza im odpowiedniej informacji obsługuje listy przęglądania na potrzeby Otoczenia sieciowego bierze udział w wyborze przeglądarki smbclient - program klienta (UNIX) dla serwera SMB, pozwala na maszynie pracującej w systemie UNIX na korzystanie z zasobów maszyny Windows

Struktura Samby (c.d.) smbtar - program do tworzenia kopii udziałów nmblookup - program klienta (UNIX) pozwalający na korzystanie z usług obsługi nazw smbpasswd - program pozwalający na zmianę hasła na serwerze SMB (UNIX, Windows NT) smbstatus - program wyświetlający bieżące połączenia sieciowe z udziałami w serwerze testparm - program sprawdzający poprawność pliku konfiguracyjnego Samby

Struktura Samby (c.d.) testprn - program umożliwiający sprawdzenie, czy różne drukarki są rozpoznawane przez demona smbd /etc/samba/smb.conf - plik konfigurujący demony smbd i nmbd /etc/samba/smbpasswd - plik z hasłami

Konfigurowanie Samby plik /etc/samba/smb.conf - edycja serwer SWAT (ang. Samba Web-based Administration Tool) /etc/services swat 901/tcp #nr portu programu swat /etc/inetd.conf swat stream tcp nowait.400 root /usr/local/bin/swat swat wykorzystanie http://serwer.samby:901

Struktura smb.conf plik smb.conf jest podzielony na sekcje sekcja [global] definiuje opcje konfiguracyjne dla całego serwera sekcja [homes] definiuje plikowy udział domyślny ( home directory ) sekcja [printers] definuje drukarkowy udział domyślny sekcja [test] definuje udział testowy sekcja [xyz] definiuje udział

Opcje konfiguracyjne opcje globalne - występują tylko w sekcji [global] opcje udziałów - występują w sekcjach udziałów; jeśli występują w sekcji [global] to definiują domyślne zachowanie udziałów opcje mogą przyjmować następujące wartości wartości logiczne - yes, no, true, false, 0, 1 wartości liczbowe - dziesiętne (NN), szesnastkowe (0xNN), ósemkowe (0NNN) łańcuchy - ciąg znaków listy wyliczane - skończone listy znanych wartości

Zmienne konfiguracyjne %a - architektura klienta (np. Samba, Win95) %I - adres IP klienta (np. 158.75.12.80) %m - NetBIOSowa nazwa klienta %M - nazwa DNS klienta %H - katalog home %u - nazwa uniksowa użytkownika %P - katalog główny bieżącego udziału %S - nazwa bieżącego udziału

Zmienne konfiguracyjne (c.d.) %d - bieżący identyfikator serwera %h - nazwa DNS serwera Samby %L - nazwa NetBIOSowa serwera Samby %s - scieżka do drukowanego pliku w serwerze %f - nazwa drukowanego pliku %p - nazwa uniksowej drukarki do wydruku %j - numer zlecenia wydruku %v - wersja samby %R - wynegocjowany wariant protokołu SMB %T - bieżący czas oraz data

Konfiguracja serwera [global] # Parametry konfiguracyjne serwera netbios name = LAB154 server string = Samba %v w serwerze (%L) workgroup = LAB1 należy mieć zdefiniowaną w Windows grupę roboczą LAB1!!!! netbios name - ustawia nazwę NetBIOSową serwera server string - określa łańcuch komentarza workgroup - ustawia nazwę grupy roboczej

Opcje udziałów dyskowych [public] comment = publiczny katalog źródłowy path = /usr/src hide file = /*README*/ read only = yes guest ok = yes comment - komentarz przy udziale [public] path - udostępniany katalog hide file - nie pokazuj pliku read only - tylko odczyt guest ok - dostęp nie wymaga uwierzytelniania

Opcje udziałów drukarkowych [hplj5] comment = drukarka HP printable = yes print command = /usr/bin/lpr -r -P%p %s lpq command = /usr/bin/lpq -P%p lprm command = /usr/bin/lprm -P%p %j printing = BSD read only = yes guest ok = yes comment - komentarz przy udziale [hplj5] printable - udział drukarkowy

Opcje udziałów drukarkowych (c.d.) print command - ustawia polecenie wydruku lpq command - ustawia polecenie przglądania kolejki wydruku lprm command - ustawia polecenie usuwania wydruku z kolejki printing - system druku (BSD,LPRNG,SYSV)

Kofiguracja drukarki lokalnej /etc/printcap lp:\ :sh:\ :ml=0:\ :mx=0:\ :sd=/var/spool/lpd/lp:\ :lp=/dev/lp0:\ :lpd_bounce=true:\ :if=/usr/share/printconf/mf_wrapper:\ :filter=/usr/libexec/filters/lpf: /etc/rc.d/initd.d/lpd restart

Opcje przeglądania local master - jeśli yes to Samba próbuje zostać główną przeglądarką lokalną remote browse sync - wymienia serwer Samby z którym należy synchronizować listy przeglądania announce as - ustawia system operacyjny (NT) domain master - jeśli yes to Samba próbuje zostać główną przeglądarką grupy roboczej browseable - jeśli ustawiona na yes to umożliwia wyświetlanie udziału na liście zasobów komputera

Opcje bezpieczeństwa admin users - określa listę użytkowników z przywilejami roota guest account - określa uniksowe konto do dostępu gościnnego (guest) security - określa poziom bezpieczeństwa serwera Samby share - każdy udział w grupie roboczej chroniony hasłem user - weryfikacja użytkownika za pomocą hasła server - Samba używa oddzielnego serwera SMB do uwierzyteniania domain - uwierzytelnianie za pomocą PDC

Opcje konfiguracji haseł encrypt passwords - jeśli yes to włącza obsługę zaszyfrowanych haseł smb passwd file - określa nazwę pliku z zaszyfrowanymi hasłami smb passwd file = /etc/samba/smbpasswd null passwords - jeśli yes Samba zezwala na dostęp użytkownikom mającym puste hasło unix password sync - jeśli yes to Samba uaktualnia uniksową bazę haseł gdy użytkownik zmieni swoje zaszyfrowane hasło

Opcje WINS wins support - jeśli yes to Samba będzie działać jako serwer nazw WINS wins server - identyfikuje serwer wins serwer = IP adres lub nazwa DNS dns proxy - jeśli jest yes to Samba przeszuka DNS jeśli nie znajdzie nazwy WINS name resolve order - kolejność metod odwzorowywania nazw NetBIOSowych name resolv order = wins lmhosts hosts bcast max ttl - określa czas życia nazwy (w sek.)

Inne opcje opcje logowania log file = /var/log/samba/log.%m opcje systemu plików follow symlinks = no opcje praw dostępu create mask = 0755 opcje przekształcenia nazw case sensitive = yes opcje blokad share modes = yes opcje domenowe, logowania i pozostałe

Wersje Samby RedHat 9.0-2.2.7a z 11.12.2002 ostatnia wersja serii 2.2.x - 2.2.8a z 6.04.2003 Wersja aktualna - 3.0.1pre2 z 7.11.2003 nowa komenda net (podobna do komendy net z Windows) nowa autentyzacja obsługa Unicode poprawiona obsługa nazw nowe moduły obsługi RPC większa funkcjonalność wydruku dla W2K/XP kompatybilność zabezpieczeń dla Windows 2003 lepsza dokumentacja (ok. 500 stron)

Instalacja Samby Pobranie źródeł wget http://us1.samba.org/samba/ftp/old-versions/samba- 2.2.8a.tar.gz wget http://us1.samba.org/samba/ftp/old-versions/samba- 2.2.8a.tar.asc weryfikacja podpisu PGP ftp://ftp.icm.edu.pl/packages/samba/samba-pubkey.asc {gunzip bunzip2} samba-wydanie.tar.{gz bz2} gpg --import samba-pubkey.asc gpg --verify samba-wydanie.tar.asc

Instalacja Samby (c.d) rozpakowanie źródeł cd /usr/src tar xzfvp samba-2.2.8a.tar.gz konfigurowanie cd samba-2.2.8a/source./configure --with-logfilebase=/var/log/samba --with-smbmount --mandir=/usr/man kompilacja make instalacja make install

Jak działa Samba? Dystrybucja RedHat zawiera Sambę ręczne uruchomienie /usr/sbin/smbd -D /usr/sbin/nmbd -D za pośrednictwem superdemona inetd plik /etc/services netbios-ns 137/tcp # NETBIOS Name Service netbios-ns 137/udp # netbios-dgm 138/tcp # NETBIOS Datagram Service netbios-dgm 138/udp # netbios-ssn 139/tcp # NETBIOS Session Service netbios-ssn 139/udp # microsoft-ds 445/tcp # CIFS

Jak działa Samba? (c.d.) za pośrednictwem superdemona inetd (c.d.) plik /etc/inetd.conf... netbios-ssn stream tcp nowait root /usr/sbin/smbd smbd netbios-ns dgram udp wait root /usr/sbin/nmbd nmbd kill -HUP `cat /var/run/inetd.pid`