1 / 60

SAMBA

SAMBA. IBM i SYTEC – NetBIOS ( Net work B asic I nput O utput S ystem) - interfejs między programami i hardware sieci Microsoft dołączył w DOS interfejs używający NetBIOS umożliwiający udostępnianie dysku przez sieć

maxine
Download Presentation

SAMBA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SAMBA

  2. IBM i SYTEC – NetBIOS (Network Basic Input Output System) - interfejs między programami i hardware sieci • Microsoft dołączył w DOS interfejs używający NetBIOS umożliwiający udostępnianie dysku przez sieć • Protokół współdzielenia dysku – SMB(Server Message Block ), później CIFS (Common Internet File System) • API – (Application Programmers Interface) – powstało wiele aplikacji • NetBUI (NetBIOS Enhanced User Interface), IBM – emulacja NetBIOS LAN w oparciu o TokenRing, ethernet, DECnet, IPX/SPX, ICP/IP

  3. NetBIOS używa 16 znakowych nazw, zamienianych na adresy mechanizmami broadcast, problem z przekroczeniem segmentu sieci • RFC1001 and RFC1002 zdefiniowały sposób mapowania nazw NetBIOS na adresy IP • Microsoft dodał mechanizmy rozgłaszania usług (browsing) i centralną autentyfikację i autoryzację (Windows NT Domain Control)

  4. Andrew Tridgell potrzebował użyć dysku UNIX na PC z DOS. Posiadał NFS dla DOS, ale aplikacja używała NetBIOS • Napisał sniffer, podejrzał protokół SMB i napisał własną aplikację dla UNIX emulującą serwer plików DOS • Wiele kolejnych wersji z błędami, odłożył projekt na półkę • Po dwu latach postanowił podłączyć komputer żony do maszyny UNIX – program działał • Protokół SMB został opublikowany • Nazwa smb była zastrzeżona, metodą wyszukania w słowniku nazw zawierających litery S M B wybrał nazwę SAMBA • Szybki rozwój na zasadach Open Source

  5. Samba to: • Serwer plików i wydruków • Autoryzacja i autentyfikacja • Serwer nazw NetBIOS • Browser

  6. Domena Windows NT – Samba 2.xx. Centralna autoryzacja, Domain Controller • Active Directory (Windows 2000) – Samba 3.xx. CIFS bez NetBIOS, serwer nazw oparty o DNS, Dynamic DNS, Kerberos, Active Directory, hierarchia domen

  7. Instalacja – rpm: • samba-common – wspólne pliki • samba – serwer • samba-client – klient samby • Dokumentacja – man i /usr/share/doc/sambaxxx

  8. smbd – serwer plików i drukarek, konfiguracja w /etc/samba/smb.conf, TCP, port 139 • nmbd – serwer nazw NetBios i browser • testparm i testprns – programy do sprawdzania poprawności smb.conf. Testparm sprawdza poprawność smb.conf, testprns sprawdza w /etc/printcap istnienie drukarki. • smbclient – prosty klient dla Unix, podłączenie dysku, transfer plików, podłączenie drukarki • nmblookup – klent WINS • SWAT - (Samba Web Administration Tool) graficzny interfejs do konfiguracji • winbindd – daemon, autentyfikacja username/password w serwerze NT, dla nsswitch (Name Service Switch)

  9. Konfiguracja: • smb.conf • 3 sekcje, [global], [printers] i [home] • workgroup = projekt WSJ • hosts allow = 172.24.3. 192.168.0. 127. • security = user (model workgroup. Inne - share,server,domain,ads) • password server = My_PDC_Name [My_BDC_Name] [My_Next_BDC_Name] • password level = 8 (Ile ważnych znaków w haśle) • username level = 8 • encrypt passwords = yes (czy negocjować szyfrowane haslo – W98 i WNT SP3 używają tylko szyfrowanego)

  10. security = usertrzeba się zalogować do serwera podając poprawnego użytkownika i hasło. Z użytkownika guest można skorzystać, ale wcześniej trzeba się zalogować, chyba, że wymusimy przez map to guest security = sharenie jest wymagane zalogowanie do serwera, autentyfikacja jest wykonywana kiedy chcemy skorzystać z udziału (share). Można skorzystać z udziału anonimowo (guest) security = serverpara username/password przekazywana jest do innego serwera Samba/NT. Jeśli to się nie uda, przechodzi do security = user security = domainmaszyna musi być dołączona do domeny, para username/password jest przekazywana do PDC/BDC security = adsmaszyna misi być dołączona do domeny, mieć skonfigurowany i uruchomiony kerberos. Nie jest kontrolerem domeny.

  11. smb passwd file = /etc/samba/smbpasswd unix password sync = Yes passwd program = /usr/bin/passwd %u passwd chat = *New*password* %n\n *Retype*new*password* %n\n *passwd:*all*aut hentication*tokens*updated*successfully*

  12. username map = /etc/samba/smbusers(mapowanie nazw użytkowników samby i unix) interfaces = 192.168.12.2/24 192.168.13.2/24(jeśli więcej niż jeden interfejs sieciowy)

  13. Samba może być master browserem w sieci: ; local master = no(w lokalnej sieci) ; os level = 33 (priorytet w elekcji master browsera) ; domain master = yes(czy ma być Domain Master Browser, obsługiwać dane z różnych podsieci) ; preferred master = yes(czy przy starcie wymuszać elekcję) ;wins support = yes (czy nmbd ma być serwerem wins) ;wins server = w.x.y.z (nmbd ma być klientem wins)

  14. [homes] comment = Home Directories browseable = no (niewidoczne w otoczeniu sieciowym)‏ writable = yes valid users = %S create mode = 0664 directory mode = 0775 map to guest = bad user

  15. create mask = 0644 force create mode = 0644 directory mask = 0755 force directory mode = 0755 create (directory)mask – bitowe AND z prawami z dos, potem bitowe OR z force create (directory) mode

  16. SUID/SGID Dla plików wykonywalnych – setUID (setGID) pliku dla uruchomionego procesu Dla kartotek – ustaw dla nowego pliku właściciela/grupę kartoteki chmod 4664 test SUID chmod 2664 test SGID chmod ug+s test SGID+SUID

  17. [WWSJ] comment = Wspolne zbiory projektu WSJ path = /home/wsj browseable = yes public = no (synonim guest ok) writable = yes write list = ania kasia tomek valid users = ania kasia tomek marcin create mask = 0777 directory mask = 0777

  18. Samba 3.x trzyma dane użytkowników w LDAP,MySQL, NIS. NIS+ lub tdbsam, starsze w /etc/samba/smbpasswd: • Kolejne pola oddzielone znakiem ':' • Nazwa użytkownika • UID • LANMAN hash • NT hash • Flagi konta • Data ostatniej zmiany

  19. Program do zarządzania użytkownikami – smbpasswd -a - dodaj użytkownika -x - usuń użytkownika -d - zablokuj (-e – odblokuj użytkownika) -m - dodaj konto maszyny Bez opcji – zmienia hasło użytkownika Użytkownicy w smbpasswd muszą mieć swoich odpowiedników w systemie unix. Mapowanie w zbiorze /etc/samba/smbusers,np: nobody = guest pcguest smbguest

  20. pdbedit – zarządzanie bazą użytkowników Modularna konstrukcja, obsługuje smbpasswd, ldap, nis+ and tdb L – wyświetl użytkowników v- wyświetl więcej informacji a – dodaj użytkownika x – usuń użytkownika

  21. Instalacja 1 • Niewielka grupa robocza • Folder na wspólne pliki, dostępne dla wszystkich tylko do odczytu • Drukarki podłączone i używane lokalnie

  22. Zainstalować Linux , samba, samba-common • /etc/samba/smb.conf: [global] workgroup = PROJEKTY security = SHARE [Projekty] path = /home/projekty read only = Yes guest ok = Yes • Utworzyć kartotekę: mkdir /home/projekty root# chmod 755 /home/projekty • /etc/hosts: 192.168.1.1 server • Uruchomić sambę: /etc/rc.d/init.d/smb restart (/etc/rc.d/rcX.d!) • W Windows skonfigurować IP, ustawić grupę roboczą PROJEKTY. Sprawdzić w otoczeniu sieciowym czy widać serwer i udział

  23. Sprawdzenie: smbclient -L localhost -U% Sharename Type Comment --------- ---- ------- Projekty Disk IPC$ IPC IPC Service (Samba 3.0.20) ADMIN$ IPC IPC Service (Samba 3.0.20) Server Comment --------- ------- SERVER Samba 3.0.20 Workgroup Master --------- -------- PROJEKTY SERVER -U% jako username guest z pustym hasłem smbclient -L server -Uroot%password Z podaniem użytkownika i hasła

  24. Instalacja 2 • Niewielka grupa robocza • Komputery stacjonarne • Kilka udziałów dyskowych ze wspólnymi plikami • Wspólne drukarki sieciowe

  25. /etc/samba/smb.conf: [global] workgroup = PROJEKTY printing = CUPS printcap name = CUPS map to guest = Bad User show add printer wizard = No wins support = yes Brak security, domyślnie user, ale wszystkich mapujemy do guest przy logowaniu i projektanci:biuro przy operacjach dyskowych [PLIKICAD] comment = Rysunki CAD path = /home/cad read only = No force user = projektanci force group = biuro guest ok = Yes nt acl support = No

  26. /etc/samba/smb.conf: [WSPOLNE] comment = Wspolne pliki biurowe path = /home/biuro read only = No force user = projektanci force group = biuro guest ok = Yes nt acl support = No [printers] comment = Tymczasowe pliki spoolingu path = /var/spool/samba printable = Yes guest ok = Yes use client driver = Yes browseable = No

  27. Utworzyć użytkownika i grupę: root# groupadd biuro root# useradd -m projektanci root# passwd projektanci Changing password for projektanci. • Utworzyć kartoteki: mkdir -p /home/{biuro/{pisma,oferty,faktury},cad} chown -R projektanci:biuro /home/biuro root# chmod -R ug+rwxs,o-w,o+rx /home/biuro • /etc/hosts: 192.168.1.1 server

  28. Skonfigurować CUPS (samba udostępnia Windows tylko spooling, jest pośrednikiem między Windows i zewnętrznym systemem drukowania) lpadmin -p drukarka1 -v socket://192.168.1.20:9100 -E lpadmin -p hplj5 -v socket://192.168.1.30:9100 -E (-E – uruchamia drukarkę i spooling, accept + cupsenable) • W pliku /etc/cups/mime.convs usunąć komentarz z linii: application/octet-stream application/vnd.cups-raw 0 - W pliku /etc/cups/mime.types usunąć komentarz z linii: application/octet-stream • Uruchomić sambę: /etc/rc.d/init.d/smb restart (/etc/rc.d/rcX.d!)

  29. Instalacja 3 • Niewielka grupa robocza • Komputery stacjonarne • Kilka udziałów dyskowych, pliki różnych użytkowników • Wspólne drukarki sieciowe

  30. Użytkownicy

  31. Utworzyć grupę: root# groupadd biuro • Dla każdego użytkownika z tabeli: root# useradd -m -G biuro Nazwa_użytkownika root# passwd Nazwa_użytkownika smbpasswd -a Nazwa_użytkownika • Utworzyć kartoteki: mkdir /home/dane chown koza /home/dane for i in asia adam ania do mkdir -p /home/data/$i chown $i /home/data/$i Done chgrp -R biuro /home/data chmod -R ug+rwxs,o-r+x /home/data

  32. Skonfigurować drukarkę w CUPS: lpadmin -p hplj -v parallel:/dev/lp0 -E • W pliku /etc/cups/mime.convs usunąć komentarz z linii: application/octet-stream application/vnd.cups-raw 0 - • W pliku /etc/cups/mime.types usunąć komentarz z linii: application/octet-stream

  33. /etc/samba/smb.conf: [global] workgroup = PROJEKTY printcap name = CUPS disable spoolss = Yes show add printer wizard = No printing = cups [files] comment = Kartoteki użytkowników path = /home/data/%U read only = No [master] comment = kartoteka administratora path = /home/data valid users = koza read only = No

  34. [printers] comment = Tymczasowe pliki spoolingu path = /var/spool/samba printable = Yes guest ok = Yes use client driver = Yes browseable = No

  35. Instalacja 4 • 50-100 użytkowników • Dwie podsieci • Adresy PC i drukarek z DHCP • Dwa udziały dla dwu grup użytkowników, prywatne udziały użytkowników udziałów dyskowych, pliki różnych użytkowników • Użytkownicy mobilni • Bez serwera DNS, serwer WINS Konstruktorzy Księgowość PC PC PC PC PC PC PC Serwer 'muza' 192.168.2.0/24 DHCP 192.168.1.0/24 DHCP HPLJ1 HPLJ3 HPLJ2 Domena GALAXY

  36. W /etc/hosts wpisać adresy serwera i drukarek 192.168.1.1 muza muza1 192.168.2.1 muza2 192.168.1.10 hplj1 192.168.1.11 hplj2 192.168.2.10 hplj3 • W /etc/rc.d/rc.local wpisać: echo 1 > /proc/sys/net/ipv4/ip_forward • Dodać użytkownika root do samby. Będzie to administrator, nie należy go usuwać: smbpasswd -a root • W /etc/samba/smbusers zamapować użytkownika administrator windows na użytkownika root: root = Administrator

  37. Utworzyć grupy użytkowników Unix groupadd konstruktorzy groupadd ksiegowosc • Połączyć grupy domeny Windows z grupami UNIX net groupmap add ntgroup="Domain Admins" unixgroup=root type=d net groupmap add ntgroup="Domain Users" unixgroup=users type=d net groupmap add ntgroup="Domain Guests" unixgroup=nobody type=d • Dodać grupy użytkowników net groupmap add ntgroup="Konstruktorzy" unixgroup=konstruktorzy type=d net groupmap add ntgroup="Ksiegowosc" unixgroup=ksiegowosc type=d type=d – typ 'domena' • Sprawdzić grupy: net groupmap list | sort

  38. Dla każdego, kto ma korzystać z samby dodać użytkownika Unix (adduser) i samby (smbpasswd) • Przydzielić użytkowników do właściwej grupy (vi /etc/group) • Utworzyć kartoteki dla konstruktorów i księgowych: mkdir -p /home/dane/{konstruktorzy,ksiegowosc} chown -R root:root /home/dane chown -R koza:ksiegowosc /home/dane/ksiegowosc chown -R koza:konstruktorzy /home/dane/konstruktorzy chmod -R ug+rwx,o+rx-w /home/data • Skonfigurować kolejki w CUPS, poprawić mime.convs, mime.types: lpadmin -p hplj1 -v socket://192.168.1.11:9100 -E lpadmin -p hplj2 -v socket://192.168.1.10:9100 -E lpadmin -p hplj3 -v socket://192.168.2.10:9100 -E

  39. Skonfigurować serwer DHCP (/etc/dhcpd.conf): default-lease-time 86400; max-lease-time 172800; default-lease-time 86400; option ntp-servers 192.168.1.1; option domain-name "galaxy.biz"; option domain-name-servers 192.168.1.1, 192.168.2.1; option netbios-name-servers 192.168.1.1, 192.168.2.1; option netbios-node-type 8; ### NOTE ### # netbios-node-type=8 means set clients to Hybrid Mode # so they will use Unicast communication with the WINS # server and thus reduce the level of UDP broadcast # traffic by up to 90%. ############

  40. subnet 192.168.1.0 netmask 255.255.255.0 { range dynamic-bootp 192.168.1.128 192.168.1.254; option subnet-mask 255.255.255.0; option routers 192.168.1.1; allow unknown-clients; host hplj1 { hardware ethernet 08:00:46:7a:35:e4; fixed-address 192.168.1.10; } host hplj2 { hardware ethernet 00:03:47:cb:81:e0; fixed-address 192.168.1.11; } }

  41. subnet 192.168.2.0 netmask 255.255.255.0 { range dynamic-bootp 192.168.2.128 192.168.2.254; option subnet-mask 255.255.255.0; option routers 192.168.2.1; allow unknown-clients; host hplj3 { hardware ethernet 01:04:31:db:e1:c0; fixed-address 192.168.1.10; } } subnet 127.0.0.0 netmask 255.0.0.0 { }

  42. smb.conf: [global] workgroup = GLAXY passwd chat = *New*Password* %n\n*Re-enter*new*password* %n\n *Password*changed* username map = /etc/samba/smbusers syslog = 0 name resolve order = wins bcast hosts printcap name = CUPS show add printer wizard = No add user script = /usr/sbin/useradd -m -G users '%u' delete user script = /usr/sbin/userdel -r '%u' add group script = /usr/sbin/groupadd '%g' delete group script = /usr/sbin/groupdel '%g'

  43. add user to group script = /usr/sbin/usermod -A '%g' '%u' add machine script = /usr/sbin/useradd -s /bin/false -d /var/lib/nobody '%u' logon script = scripts\login.bat logon path = logon drive = X: domain logons = Yes preferred master = Yes wins support = Yes printing = CUPS

  44. [homes] comment = Home Directories valid users = %S read only = No browseable = No [printers] comment = SMB Print Spool path = /var/spool/samba printable = Yes guest ok = Yes use client driver = Yes browseable = No

  45. [netlogon] comment = Network Logon Service path = /data/%U valid users = %S read only = No

  46. [Konstruktorzy] comment = Dane konstruktorow path = /home/dane/konstruktorzy valid users = %G read only = No [ksiegowosc] comment = Finanse i ksiegowosc path = /home/dane/ksiegowosc valid users = %G read only = No

  47. Uruchomić smb, dhcp, cups • Sprawdzić: testparm -s (poprawność smb.conf) smbclient -L localhost -U% (połączenie anonimowe) smbclient //muza/ksiegowosc -U koza Password: XXXXXXX (połączenie autoryzowane)

  48. Instalacja 5 • 100-500 użytkowników • Dwie podsieci, łącze do internetu – firewall, wirusy • Adresy PC i drukarek z DHCP • Dwa udziały dla dwu grup użytkowników, prywatne udziały użytkowników udziałów dyskowych, pliki różnych użytkowników • Skrypty logowania, profile mobilne • serwer DNS Konstruktorzy Księgowość PC PC PC PC PC PC PC Serwer 'muza' eth1 eth2 192.168.2.0/24 DHCP 192.168.1.0/24 DHCP eth0 HPLJ3 HPLJ1 HPLJ2 Internet Domena GALAXY

  49. W /etc/hosts dodać nazwy i adresy interfejsów lokalnych • Dodać routing między interfejsami • Skonfigurować i uruchomić firewall (iptables) • Zainstalować Samba, bind, dhcpd

  50. smb.conf [global] workgroup = GALAXY netbios name = MUZA interfaces = eth1, eth2, lo (bez tego nie słucha na lo) bind interfaces only = Yes (słucha tylko na wymienionych interfejsach) passdb backend = tdbsam pam password change = Yes passwd program = /usr/bin/passwd %u passwd chat = *New*Password* %n\n *Re-enter*new*password*%n\n *Password*changed* username map = /etc/samba/smbusers unix password sync = Yes log level = 1 (debugging) syslog = 0 log file = /var/log/samba/%m max log size = 50 smb ports = 139 name resolve order = wins bcast hosts

More Related