Linux Systeme in der NWZ-Umgebung
SAMBA
Einfuhrung
Linux Systeme in der NWZ-UmgebungLinux als Samba-Server in der NWZnet-Domane
Christian Muck-Lichtenfeld
IVV4 Linux
January 18, 2006
1 / 26
Linux Systeme in der NWZ-Umgebung
SAMBA
Einfuhrung
SAMBA: Unix-Unterstutzung des SMB-Protokolls
Was ist SAMBA ?
1 Freie Implementierung eines Server-Message-Block (SMB) Servers furUNIX und andere Betriebssysteme
2 Freigabe (Share) von Filesystemen/Druckern auf dem lokalen Server
3 Zugriff auf Netzfreigaben anderer Server als Client
4 Funktion als NetBIOS-Nameserver
5 Unterstutzung von NetBIOS-Browsing und Browse-Master-Auswahl
2 / 26
Linux Systeme in der NWZ-Umgebung
SAMBA
Einfuhrung
Quellen
• International: www.samba.org (aktuelle Version: 3.0.14a)
• Deutsch: samba.sernet.de
• Bucher/Dokumentation:Samba 3 - Das offizielle Handbuch (Addison Wesley)http://www.oreilly.de/german/freebooks/samba2ger/ (0 $)
3 / 26
Linux Systeme in der NWZ-Umgebung
SAMBA
Installation
Installation
Binar-Distribution 3.0.12 (SuSE 9.3) bzw. 3.0.20 (SuSE 10.0)
• Paket samba: Server (smbd, nmbd)
• Paket samba-client: nur Client-Programme
• Paket samba-winbind: (winbindd)
Source-Distribution (SuSE 9.3):Paket samba (Sourcen) : Konfiguration und Compilation erforderlich(zusatzlich: krb5-devel, ldap-devel usw.)
4 / 26
Linux Systeme in der NWZ-Umgebung
SAMBA
Installation
Samba-Compilation aus SuSE-Paket (nicht notig)
• Sourcen installieren
• rpmbuild -bp /usr/src/packages/SPECS/samba.spec
error: Failed build dependencies:bison is needed by samba-3.0.12-5
cvs is needed by samba-3.0.12-5flex is needed by samba-3.0.12-5
.....cracklib-devel is needed by samba-3.0.12-5cups-devel is needed by samba-3.0.12-5
libacl-devel is needed by samba-3.0.12-5libattr-devel is needed by samba-3.0.12-5
mysql-devel is needed by samba-3.0.12-5mysql-shared is needed by samba-3.0.12-5
openafs-devel is needed by samba-3.0.12-5pam-devel is needed by samba-3.0.12-5popt-devel is needed by samba-3.0.12-5
postgresql-devel is needed by samba-3.0.12-5postgresql-libs is needed by samba-3.0.12-5
python-devel is needed by samba-3.0.12-5
→ besser Quellen herunterladen z.B.ftp://de3.samba.org/pub/samba/
5 / 26
Linux Systeme in der NWZ-Umgebung
SAMBA
Installation
Konfiguration der Samba Sourcen (nicht notig)
• cd /usr/local; tar -xzf ~/samba-3.0.21a.tar.gz• cd samba-3.0.21a; configure --help
--prefix=PREFIX install architecture-independent files in PREFIX[/usr/local/samba]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX[PREFIX]
--with-configdir=DIR Where to put configuration files ($libdir)
--with-logfilebase=DIR Where to put log files ($VARDIR)--with-libdir=DIR Where to put libdir ($libdir)
--with-mandir=DIR Where to put man pages ($mandir)--with-ldap LDAP support (default yes)
–with-ads Active Directory support (default auto)–with-krb5=base-dir Locate Kerberos 5 support (default=/usr)--with-smbmount Include smbmount (Linux only) support (default=no)
--with-pam Include PAM support (default=no)--with-pam smbpass Build PAM module for authenticating against passdb backends (default=no)
--with-ldapsam Include LDAP SAM 2.2 compatible configuration (default=no)--with-quotas Include disk-quota support (default=no)--with-sys-quotas Include lib/sysquotas.c support (default=auto)
--with-libsmbclient Build the libsmbclient shared library (default=yes if shared--with-acl-support Include ACL support (default=no)
--with-sendfile-support Check for sendfile support (default=yes)--with-winbind Build winbind (default, if supported by OS)
• make; make install6 / 26
Linux Systeme in der NWZ-Umgebung
SAMBA
Konfiguration
Mogliche Rollen eines Samba-Servers
In NT4-Domanen:
• Domain Controller (PDC/BDC): Authentifizierung der Nutzer durchSecurity Account Manager (SAM), gilt dann fur die gesamteDomane.
• Local (Master) Browser: Halt Liste der im Netz verfugbarenMaschinen vor (NetBIOS-Namen). Rolle des Master Browsers wirdim Netz ermittelt (Election)
• WINS-Server: Domanenunabhangiger NetBIOS-NameserverSAMBA-Server kann NT4-PDC, Local Master Browser, Domain Master Browser und primarerWINS-Server sein
→ auf Linux-Server im WWU-LAN/NWZnet deaktivieren !
7 / 26
Linux Systeme in der NWZ-Umgebung
SAMBA
Konfiguration
Dateien und Damonen des Samba-Systems
• smbd
bearbeitet die File- und Printerservices(1 TCP/IP-Stream und 1 Damon pro Client)
• /usr/sbin/nmbd
NETBIOS- und Browsing-Damon. Antwortet aufNBT-Broadcast-Name-Service-Requests (UDP/IP, nur im Subnetz) undWINS-Requests (optional, TCP/IP: Routing aus dem Subnetz moglich).Nicht erforderlich !
• Bei Betrieb als WINS-Server: Namen/Adresse-Datenbank wins.dat in{SAMBA-DIR}/var/locks
• /etc/samba/smb.conf Zentrale Konfigurationsdatei (s.u.)
• /etc/samba/smbpasswd Verschlusselte Passworter(nur fur root bei Active-Directory-Anbindung LDAP/KRB5)
• /var/log/samba/log.smbd Logfile
8 / 26
Linux Systeme in der NWZ-Umgebung
SAMBA
Konfiguration
Beitritt zur NWZnet-Domane
1. Schritt: Computerkonto anlegen
9 / 26
Linux Systeme in der NWZ-Umgebung
SAMBA
Konfiguration
Beitritt zur NWZnet-Domane
2. Schritt: Samba konfigurieren und Domane beitreten
• /etc/krb5.conf anpassen
• /etc/samba/smb.conf anpassen (s.u.)
• kinit ymeier (y-Account mit Zugriff auf die betr. OU)
• net ads join optional mit ”..OU..”
AD-(Maschinen)-Key wird lokal abgelegt
10 / 26
Linux Systeme in der NWZ-Umgebung
SAMBA
Konfiguration
smb.conf
• Konfiguration des Samba-Servers erfolgt uber smb.conf (Editieren)Alternative: SWAT (Webinterface) mit Security-Problemen
• Abschnitte in smb.conf:[global]: Allgemeine Konfigurationsinformationen[homes]: Shares der User-Homeverzeichnisse (z.B. bei NT4-PDC)[Name]: File-Share Name
[printers]: Printer-Share fur alle printcap-Drucker[print$]: Standard-Windows-Freigabe fur Druckertreiber etc.
• nach jeder Anderung an smb.conf:rcsmb restart (Samba neu starten)
• testparm - testet die Konfiguration und meldet Fehler
11 / 26
Linux Systeme in der NWZ-Umgebung
SAMBA
Konfiguration
Samba mit YaST konfigurieren
’Network Services - Samba Server’
12 / 26
Linux Systeme in der NWZ-Umgebung
SAMBA
Konfiguration
Samba mit YaST konfigurieren
Editieren der smb.conf:
smb.conf anschliessend kontrollieren !13 / 26
Linux Systeme in der NWZ-Umgebung
SAMBA
Konfiguration
[global] Section
; ist das Kommentarzeichen
workgroup = NWZNET ; Domane oder Workgroupsecurity = ads ; Authentifizierung via Kerberos/AD
realm = NWZNET.UNI-MUENSTER.DE ; vgl. krb5-Konfiguration (/etc/krb5.conf)encrypt passwords = yes ; naturlich !!
netbios name = bilbo ; Name im NBT Netzwerk (optional)server string = Samba %v on (%L) ; Kommentar in Browser-Listenusername map = /etc/samba/smbusers ; (enthalt root = Administrator)
domain logons = No ; wir wollen keine Logons fur die Domane gewahren !printing = cups ; nutzt CUPS-Druckersystem
printcap name = cupsprintcap cache time = 750
cups options = rawprinter admin = @ntadmin,root ; wer darf printer verwaltenmap to guest = Bad User ; keine guest-logons !
include = /etc/samba/dhcp.conf ; Einstellung der WINS-Server; Browsing
preferred master = no ; Samba stosst keine Browser-Election an,; wenn es sich im Netz meldet
local master = no ; versucht nicht, lokaler Master-Browser zu werden
; (im Segment) Default = yes !!domain master = no ; versucht nicht, Domanen-Master-Browser zu werden
wins support = no ; arbeitet nicht als WINS-Serveros level = 2 ; Fur Browser-Elections wichtig (Auswahlkriterium)
; W95 = 1, NT-WS = 17, NT-Server = 33
14 / 26
Linux Systeme in der NWZ-Umgebung
SAMBA
Konfiguration
Alternative security-Modes
• security = shareJede Freigabe hat ein oder mehrere Passworter der zuvor verbundenen User. Mit guest onlyim Share erfolgt keine Passwort-Abfrage.
• security = userMit jeder Freigabe konnen User angegeben werden, die sich verbinden durfen. Validierungerfolgt mit der Liste valid users = im Share und dem lokalen Passwort (UNIX oder SMB).
• security = serverZur Authentifizierung des Nutzers wird ein SMB-Passwort-Server (NetBIOS-Name) befragt(password server = NetBIOS-Name). Wegen der UNIX-Zugriffsrechte muss der Usertrotzdem lokal (mit deaktiviertem Passwort) existieren
• security = domainVolle Integration des Samba-Servers in eine NT4-Domane. Der PDC liefert ausfuhrlicheUser-Informationen (z.B. Gruppe, Logon-Zeiten, Account-Ablaufzeit, Profil, Login-Scriptusw.)
15 / 26
Linux Systeme in der NWZ-Umgebung
SAMBA
Konfiguration
Konfiguration eines Fileshares
Verzeichnis /tmp1/data soll freigegeben werden[data]
comment = Data Dirpath = /tmp1/data ; der Pfad im Unix-Filesystembrowseable = yes ; Share erscheint beim Browsen (Netzwerkumgebung)
writeable = yes ; schreibbarcreate mask = 0600 ; Dateien werden mit r/w-Rechten des Users erzeugt
read only = No ; ist gleich writeable = yesvalid users = +q0oc ; Nur die Gruppe q0oc darf zugreifen
16 / 26
Linux Systeme in der NWZ-Umgebung
SAMBA
Konfiguration
Dateibesitzer unter Linux
Bei Anbindung an AD (Kerberos/LDAP) habe die Dateien die korrektenUser- und Gruppen-IDs:
jolle:/tmp1/data # lltotal 5484
drwxrwxrwx 3 root root 4096 2005-07-13 12:09 .drwxrwxrwx 4 root root 4096 2005-07-08 12:12 ..-rw------- 1 meier q0mueller 4760191 2005-01-27 16:44 50ZAR.tif
drwxr-xr-x 2 meier q0mueller 4096 2005-07-13 12:08 hyper7-rw-r--r-- 1 root root 971 2005-07-08 12:17 smb.conf
jolle:/tmp1/data #
17 / 26
Linux Systeme in der NWZ-Umgebung
SAMBA
Konfiguration
Server-Tools
net: Tool zur Manipulation der Netzwerkfunktionalitaten von Samba
net ads join Beitritt zur Domanenet ads leave Austritt aus der Domanenet ads user info name Gruppen des Users name
net ads user Alle User anzeigennet ads group Alle Gruppen anzeigen
net status sessions Alle Sitzungen (verbundenen User) anzeigennet status shares Alle Sitzungen (benutzte Shares) anzeigen
18 / 26
Linux Systeme in der NWZ-Umgebung
SAMBA
Konfiguration
Server-Tools
smbstatus: Netzverbindungen listen
smbserver:/etc/samba # smbstatus
Samba version 3.0.13-1.1-SUSEPID Username Group Machine-------------------------------------------------------------------
10173 ymeier q0oc 128.176.257.41 (128.176.257.41)
Service pid machine Connected at-------------------------------------------------------IPC$ 10173 128.176.257.41 Wed Jul 13 14:44:37 2005
No locked files
19 / 26
Linux Systeme in der NWZ-Umgebung
SAMBA
Drucken ... oder auch nicht
Drucker freigeben
Zur Zeit besser nicht verwenden (cups-samba v6.0 abwarten)
• smb.conf: printing = cups, printcap name = cups usw.
• lokales Samba-Root-Passwort erzeugensmbpasswd -a root
• Cups-Windowstreiber installieren (Download von www.cups.org)
• cupsaddsmb -H Sambaserver Sambaserver\\root -v -a
exportiert alle Druckertreiber des CUPS-Systems in die das print$-Share
• Windows-Clients sollten dann den Cups-Treiber lokal installieren konnen....
20 / 26
Linux Systeme in der NWZ-Umgebung
SAMBA
Client-Tools
client-Tools
smbclient: FTP-artiger interaktiver ClientVerbindung zum Windows-Rechner ’jolle’:
meier@samos2:~ > smbclient //jolle/public -U meier -W nwznetAdded interface ip=128.176.220.99 bcast=128.176.255.255 nmask=255.255.0.0Password:
Domain=[NWZNET] OS=[Unix] Server=[Samba 3.0.14a]smb: \> ls
tca00-200.pdf 84378 Mon Apr 17 16:16:04 2005tca00-228.pdf 192414 Mon Apr 17 16:16:04 2005
tca00-238.pdf 89416 Mon Apr 17 16:16:04 2005tca00-263.pdf 88870 Mon Apr 17 16:16:04 2005tca00-294.pdf 70841 Mon Apr 17 16:16:04 2005
48818 blocks of size 16384. 22881 blocks available
smb: > quitmeier@samos2:~ >
Kommandos: put, get, ls, cd usw.
21 / 26
Linux Systeme in der NWZ-Umgebung
SAMBA
Client-Tools
Mounten von Windows-Shares
smbmount: Zur Anbindung von Windows-Shares im Linux-Filesystem
• kann per pam mount auch beim Login ausgefuhrt werden
• smbmount {service} {mount-point} [-o options]
bzw.mount -t cifs {service} {mount-point} [-o options]
• options:
• krb - benutzt kerberos (AD)• username=<arg>, password=<arg>
- fur den Zugriff auf den Windows-Server• workgroup=<arg> - Domane des Windows-Servers• ro, rw - read-only oder read-write Zugriff
22 / 26
Linux Systeme in der NWZ-Umgebung
Serverdienste konfigurieren
Konfiguration mit Yast
Systemstart mit Samba (Runlevel 3 und 5)
’System - System Services (Runlevel) ’
23 / 26
Linux Systeme in der NWZ-Umgebung
Serverdienste konfigurieren
Konfiguration mit Yast
Problematische Serverdienste (in Auswahl ...)
1 ”Verboten”:
• DHCP Server• DNS Server• BOOTP Server• (NIS Server)
2 Erlaubt, wenn man weiss, was man tut:
• (NIS Server)• NFS Server• Apache Webserver• FTP Server• MySQL Datenbankserver• NX Terminalserver
24 / 26
Linux Systeme in der NWZ-Umgebung
Zusammenfassung
Zusammenfassung: Samba im NWZnet
• Standard-Paket Samba-Server von SuSE zu verwenden
• Installation und Domanenintegration
• /etc/samba/smb.conf• Voraussetzungen: AD-Konto, krb5-client
• Konfiguration von Fileshares
• Zugriff auf Windows-Resourcen
25 / 26
Linux Systeme in der NWZ-Umgebung
Zusammenfassung
Ende
DEMO
26 / 26