Using Samba

Using Samba

Robert Eckstein, David Collier-Brown, Peter Kelly
1st Edition November 1999
1-56592-449-5, Order Number: 4495
416 pages, $34.95

Buy the hardcopy

Inhaltsverzeichnis


Previous: Anhang D. Samba mit CVS herunterladen Anhang F  
 

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/24 

Wir 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 = samba 

Der 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, adt

Dä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 = 512

Die Optionen share modes, max, xinit und read 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 = yes

Die drei map-Optionen arbeiten nur auf Shares mit einem Create-Modus, der die Execute-Bits mit einschließt (0111). Unsere Shares homes und printers 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/%u

Die 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 Option path 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.


Previous: Anhang D. Samba mit CVS herunterladen  
Anhang D. Samba mit CVS herunterladen Buch-Index (engl.)  

O'Reilly Home | O'Reilly Bookstores | How to Order | O'Reilly Contacts
International | About O'Reilly | Affiliated Companies

© 1999, O'Reilly & Associates, Inc.