SIECIOWE SYSTEMY OPERACYJNE mgr inż. Adam Mencwal Katedra Informatyki Stosowanej amencwal@kis.p.lodz.pl http://www.kis.p.lodz.pl/~amencwal/
SAMBA co to takiego? SaMBa zbiór uniksowych aplikacji rozumiejących protokół SMB (Server Message Block). Umożliwia uniksowym serwerom porozumiewanie się za pomocą tego samego protokołu, którego używają systemy Microsoftu (tzw. otoczenie sieciowe ). (źródło: Robert Eckstein, David Collier-Brown, Peter Kelly: 'Using Samba', Wyd.: O'Reilly, 2000 )
Samba charakterystyka i ciekawostki Podobnie jak system operacyjny Linux, Samba to 'flagowe' oprogramowanie o otwartym kodzie źródłowym (Open Source Software), rozpowszechniana na warunkach Powszechnej Licencji Publicznej GNU (GPL). prace nad Sambą są w części sponsorowane przez Narodowy Uniwersytet Australii (gdzie autor - Andrew Tridgell uzyskał swój tytuł naukowy) oraz przez takie firmy jak Whistle i SGI. Microsoft upublicznił definicję protokołu SMB jako CIFS (Common Internet File System)
Samba możliwości udostępnianie zasobów plikowych udostępnianie drukarek uwierzytelnianie klientów logujących się do domeny Windows wspomaganie odwzorowywania nazw jako serwer WINS wszystko powyższe przy kompatybilności (*) z rozwiązaniami MS przy zerowej cenie i nieraz dużo lepszej wydajności(!)
Teoria, podstawy działania protokołu NetBEUI historyczny przodek SMB NetBEUI (NetBIOS Extended User Interface) : protokół warstwy 3, nierutowalny, oparty o nazwy max 15 znakowe. następca NBT (NetBIOS over TCP/IP) zawierający usługę nazewniczą,obsługę datagramów i sesji. chcę zarejestrować się jako komp1 przykro mi, już ja mam tę nazwę chcę zarejestrować się jako komp1 NetBIOSowy serwer nazw ok, rejestruję tę nazwę
SMB typy węzłów Rola Działanie (rejestracja i odwzorowanie nazw) b-węzeł rozgłoszeniowo p-węzeł dwupunktowo (serwer NBNS) m-węzeł najpierw próbuj rozgłoszeniowo, jeśli się nie powiedzie dwupunktowo (przez NBNS) h-węzeł najpierw próbuj dwupunktowo (przez NBNS), jeśli się nie powiedzie rozgłoszeniowo C:\>ipconfig /all Windows 98 IP Configuration... Node Type.......... : Hybrid
SMB typy węzłów (c.d.) Wartość bajtu Działanie (rejestracja i odwzorowanie nazw) 00 Stacja robocza (standarowo) 03 Posłaniec (Winpopup) 06 Serwer dostępu zdalnego 1B Główna przeglądarka domeny 20 Serwer plików i drukarek BE Agent monitorowania sieci D:\>NBTSTAT -a serwer NetBIOS Remote Machine Name Table Name Type Status ------------------------------------------- SERWER <00> UNIQUE Registered SERWER <03> UNIQUE Registered SERWER <20> UNIQUE Registered
SMB Domeny i grupy robocze Grupa robocza : zbiór komputerów zarejestrowanych w tej samej grupie SMB Domena : Grupa robocza + serwer uwierzytelniający (kontroler domeny) komp1 (użytkownik:user) przyznaję dostęp do zasobu tak, user jest zalogowany, udostępniam żeton dla niego proszę o dostęp do zasobu serwer czy user jest zalogowany? kontroler domeny
SMB przeglądanie i elekcja LMB (Local Master Browser), serwer WINS (Windows Internet Name Service) niegdyś dostęp tylko przez UNC (\\serwer\zasób) obecnie przez wzgląd na wydajność sieci wprowadzono funkcję głównej przeglądarki lokalnej (przechowującej informacje o dostępnych komputerach w grupie roboczej) Samba OS Level = 69 Win 2000 OS Level = 34 ELEKCJA! Win 98 OS Level = 2 Win XP OS Level = 40 kryteria wyboru wg istotności: wartość systemu operacyjnego preferowana przeglądarka główna? czas w sieci nazwa (alfabetycznie)
Samba przegląd najważniejszych składowych pakietu nmbd Demon świadczący usługi Windows Internet Name Service (WINS) i wspomagający przeglądanie zasobów sieci. smbd Demon umożliwiający współdzielenie plików i drukarek w sieci SMB i zapewniający uwierzytelnianie klientów SMB. smbclient Program klienta dzięki którym można podłączyć się do zasobów serwera SMB. smbpasswd Zarządzanie użytkownikami sieci SMB. nmblookup Przeszukiwanie nazw NetBIOSowych w w sieci SMB.
ogólna struktura pliku /etc/samba/smb.conf [global] ; parametry globalne ustawień serwera... [homes] ; parametry zasobów użytkowników... [printers] ; parametry ustawień... ; podsystemu drukowania [udzial_testowy] ; definicja dowolnego udziału... możliwość używania zmiennych (fragment): %m - NetBIOSowa nazwa klienta %u - nazwa użytkownika %S - nazwa bieżącego udziału %v - wersja Samby %T - bieżąca data i czas
parametry sekcji [global] (fragment) workgroup = GRUPA_ROBOCZA netbios name = SERWER_SAMBY server string = %h server (Samba %v) security = user interfaces = 192.168.0.0/24 os level = 69 domain master= no local master = yes preferred master = yes logon script = %U.bat include = /usr/local/samba/lib/smb.conf.%l hosts allow = 192.168.0. 127.0.0.1 log file = /var/log/samba.log.%m
parametry udziałów [homes] i innych (fragment) path = /export/samba/dane comment = Dysk z danymi volume = Stacja-Sieciowa browseable = yes writeable = no ; read only = yes guest ok = yes ; public = yes valid users = @ksiegowosc szef invalid users = gosc root preexec = mount /dev/cdrom root postexec = umount /dev/cdrom
parametry udziału [printers] (fragment) printing = bsd path = /tmp printable = yes guest ok = yes print command = /usr/bin/ps2pdf %s