Using SambaRobert Eckstein, David Collier-Brown, Peter Kelly1st Edition November 1999 1-56592-449-5, Order Number: 4495 416 pages, $34.95 |
F. Muster-Konfigurationsdatei
Dieser Anhang bringt ein Beispiel für die Einrichtung einer smb.conf-Datei und betrachtet, wie viele Optionen in der Praxis verwendet werden. Das Folgende ist eine ein wenig veränderte Version, die wir bei einer Firma mit fünf Linux-Servern, fünf Windows for Workgroups-Clients und drei NT-Arbeitsstationen-Clients verwendeten:
# smb.conf -- File Server System for: 1 Example.COM BSC & Management Office [globals] workgroup = 1EG_BSC interfaces = 10.10.1.14/24Wir bieten diesen Dienst nur auf einem der Maschinen-Interfaces. Die Option
interfaces
setzt ihre Adresse und Netzmaske, wo/24
dasselbe bedeutet, wie wenn die Netzmaske 255.255.255.0 verwendet würde:comment = Samba ver. %v preexec = csh -c `echo /usr/samba/bin/smbclient \ -M %m -I %I` &Wir verwenden den Befehl preexec, um Informationen über alle Verbindungen durch Maschinen-Name (
%m
) und IP-Adresse (%I)
zu loggen:# smbstatus gibt verschiedene Info über den laufenden Status aus status = yes browseable = yes printing = bsd # der Username, der zum Zugriff auf Dienste, # bezeichnet mit 'guest = ok', verwendet wird guest account = sambaDer vorgegebene Gast-Account war
nobody
, uid -1, der Log-Meldungen auf einer unserer Maschinen erzeugte, indem er "your server is being unfriendly" sagte, daher erstellten wir einen eigenen Samba-Gast-Account für Browsen und Drucken:# Superuser-Account - Admin-Privilegien auf Shares, # mit keinen Restriktionen # WARNUNG - mit Sorgfalt zu verwenden: Dateien können # ohne Rücksicht auf Datei-Rechte modifiziert werden admin users = root # wer sich NICHT mit IRGENDEINEM Dienst verbinden darf invalid users = @wheel, mail, deamon, adtDämonen können Samba nicht benützen, nur Leute. Die Option
invalid
users
schließt eine Sicherheitslücke; sie hindert Eindringlinge vor dem Einbrechen durch Vortäuschen, ein Dämonen-Prozess zu sein.# Hosts, denen ERLAUBT oder VERBOTEN ist, sich mit # IRGENDEINEM Dienst zu verbinden hosts allow = 10.10.1. hosts deny = 10.10.1.6 # wo die Lock-Dateien sitzen lock directory = /var/lock/samba/locks # Debugging-Log-Dateien # %m = eigenes Log für jeden NetBIOS-Namen (jede Maschine) log file = /var/log/samba/log.%m # Wir senden Priority 0, 1 und 2-Meldungen an die Systemlogs syslog = 2 # Wenn eine WinPopup-Meldung zum Server gesendet wird, # leite sie an einen User via e-Mail um message command = /bin/mail -s 'message from #% on %m' \ pkelly < %s; rm %s # --------------------------------------------------- # [globals] Performance Tuning # --------------------------------------------------- # Algorithmus cachen, um die Zeit für getwd()-Calls zu reduzieren getwd cache = yes socket options = TCP_NODELAY # melde dem Server, ob der Client anwesend ist und # die Reaktion in Sekunden keep alive = 60 # Anzahl von Minuten der Inaktivität, bevor eine # Verbindung als tot betrachtet wird dead time = 30 read prediction = yes share modes = yes max xmit = 17384 read size = 512Die Optionen
share
modes
,max
,xinit
undread
size
sind maschinenspezifisch (siehe Anhang B, Samba Performance-Tuning):# Locking wird vom Server durchgeführt locking = yes # kontrolliere, ob DOS-artige Attribute auf Unix- # Execute-Bits abgebildet werden sollten map hidden = yes map archive = yes map system = yesDie drei
map
-Optionen arbeiten nur auf Shares mit einem Create-Modus, der die Execute-Bits mit einschließt (0111). Unsere Shareshomes
undprinters
werden sie nicht unterstützen, die Share [www]
aber schon:# --------------------------------------------------------- # [globals] Security and Domain Logon Services # --------------------------------------------------------- # Verbindungen werden mit UID und GID, nicht als Shares, gemacht security = user # Boolean-Variable, die kontrolliert, ob Passwörter # verschlüsselt werden encrypt passwords = yes passwd chat = "*New password:*" %n\r "*New password (again):*" %n\r \ "*Password changed*" passwd program = /usr/bin/passwd %u # immer Local Master Browser werden domain master = yes preferred master = yes os level = 34 # damit Domain-Logons korrekt arbeiten. Samba agiert # als ein Primary Domain Controller domain logons = yes # Logon-Skript, das jedes Mal abläuft, wenn der # Username (%U) beim Server einloggt. Setz die Zeit, # verbinde zu den Shares, Virus-Checks usw. logon script = scripts\%U.bat [netlogon] comment = "Domain Logon Services" path = /u/netlogon writable = yes create mode = 444 guest ok = no volume = "Network"Diese Share, besprochen in Kapitel 6, User, Security und Domains, wird von Samba benötigt, um ungestört in einer Windows NT-Domäne zu arbeiten:
# ----------------------------------------------------------- # [homes] User Home-Verzeichnisse # ----------------------------------------------------------- [homes] comment = "Home-Verzeichnis fuer : %u " path = /u/users/%uDie Passwort-Datei des Sambaservers bezeichnet das Homeverzeichnis jeder Person als /home/
maschinen_name
/person
, was NFS umwandelt, um auf den aktuellen physikalischen Ort unter /u/users zu zeigen. Die Optionpath
in der Share[homes]
teilt Samba den momentanen (Nicht-NFS-) Ort mit:guest ok = no read only = no create mode = 644 writable = yes browseable = no # ----------------------------------------------------------- # [printers] System Drucker # ----------------------------------------------------------- [printers] comment = "Drucker" path = /var/spool/lpd/samba printcap name = /etc/printcap printable = yes public = no writable = no lpq command = /usr/bin/lpq -P%p lprm command = /usr/bin/lprm -P%p %j lppause command = /usr/sbin/lpc stop %p lpresume command = /usr/sbin/lpc start %p create mode = 0700 browseable = no load printers = yes # ----------------------------------------------------------- # Besondere Beschreibungen: [programs] [data] [retail] # ----------------------------------------------------------- [programs] comment = "Gemeinsame Programme %T" volume = "programs"Gemeinsame Programme tauchen in der Netzwerkumgebung auf, und
programs
ist der Volume-Name, den du nennst, wenn ein Installations-Programm den Namen der CD-ROM wissen will, von der es zu laden glaubt:path = /u/programs public = yes writeable = yes printable = no create mode = 664 [cdrom] comment = "Unix CDROM" path = /u/cdrom public = no writeable = no printable = no volume = "cdrom" [data] comment = "Daten-Verzeichnisse %T" path = /u/data public = no create mode = 770 writeable = yes volume = "data" [nt4] comment = "NT4 Server" path = /u/systems/nt4 public = yes create mode = 770 writeable = yes volume = "nt4_server" [www] comment = "WWW System" path = /usr/www/http public = yes create mode = 775 writeable = yes volume = "www_system"Die Share
[www]
ist das Verzeichnis, das auf dem Unix-Server zum Betreuen von Web-Seiten verwendet wird. Samba stellt das Verzeichnis lokalen PC-Usern zur Verfügung, damit kann die Kunst-Abteilung Web-Seiten updaten.
© 1999, O'Reilly & Associates, Inc.