#pragma section-numbers on
'''Inhalt'''

[[neue seite]]
<<TableOfContents>>

----
= Allgemeines =
Samba ist ein Datei-, Druck- und neuerdings auch Domänen-Anmelde-Server unter Linux für die Anbindung von Windows-Clients.

Samba kann damit die wichtigsten Funktionen eines Windows-NT-Servers nachbilden - und das lizenzkostenfrei mit unlimitierter Benutzerzahl!

Der Name "'''S'''a'''mb'''a" ist übrigens eine Andeutung auf das in Windows-Netzwerken verwendete SMB-Protokoll.

Homepage: http://de.samba.org/samba/

Lizenz: [[GPL]]

== Aktuell ==

Aktuelle Versionen haben auch fortgeschrittene PDC-Funktionen (Primary Domain Controller), als BDC (Backup Domain Controller) kann man Samba allerdings (noch?) nicht verwenden, weil das dazu verwendete Microsoft-Protokoll nicht bekannt ist.

 . Mit der Version 3.0 final gab es einige wichtige [[http://de.samba.org/samba/whatsnew/samba-3.0.0.html|Neuerungen]] bei Samba. Wichtige dabei:
 * DeWikiPedia:Active_Directory Support
 * Samba kann jetzt an einer Windows-Domäne teilnehmen
 * User können via [[LDAP]]/[[Kerberos]] authentifziert werden.
 * UniCode-Support
 * uvm.
Ein Update auf diese Version lohnt sich auf alle Fälle. Auch weil damit viele Bugs behoben wurden. Aber auch insbesondere  mit dem DeWikiPedia:Active_Directory-Support und LDAP ist Samba sehr viel stärker geworden gegenüber den neuesten Windows 2003-Servern. Die britische IT-Wekk [[http://www.heise.de/newsticker/data/ps-15.10.03-000/|berichtet]] sogar das Samba 3 dreimal so schnell sei, wie ein Windows 2003-Server.

 . 16.12.2003: Version 3.0.1 (Bugfix-Release), siehe [[http://de.samba.org/samba/whatsnew/samba-3.0.1.html|Release Notes]].
 . 27.01.2009: Version 3.3.0 (Stable-Release), siehe [[http://news.samba.org/releases/3.3.0/]].

== Grundlagen ==
Wer das Glück hatte, bisher noch nicht viel mit Windows-Netzwerken zu arbeiten sollte sich  vielleicht zunächst mit den /ProtokollGrundlagen vertraut machen.

= Links =
 * [[http://samba.sernet.de/|DIE Deutsche Samba Seite]] ist jetzt englisch.
 * [[https://www.oreilly.com/openbook/samba/book/|Using Samba Online-Buch {en}]]
 * [[https://samba.plus/|Samba für Firmen]]
 * [[http://gertranssmb3.berlios.de/output/index.html|Sehr umfangreiche Howtosammlung/Anleitung in Deutsch]] Link defekt!
 * [[http://www.oreilly.de/german/freebooks/samba2ger/|Samba, 2. Auflage O'Reilly]] Link defekt!
 * [[http://home.arcor.de/36bit/|Andrew Williams' home-page]] Link defekt!
 * [[http://www.dd.iij4u.or.jp/~okuyamak/Documents/tuning.english.html|Samba Tuning]] Link defekt!
 * [[http://www.backports.org/debian/dists/stable/samba/binary-i386/|Samba 3.0 für Debian/Woody]] Link defekt!
 * [[http://www.wlug.org.nz/ActiveDirectorySamba|Authentifizierung gegen ein AD mit Winbindd]] Link defekt!
 * [[http://hr.uoregon.edu/davidrl/samba.html|Unoffical Samba Howto]] Link defekt!
Die SMB-Clients sind auf [[smbmount]] und [[smbclient]] beschrieben.

Falls jemand mal schnell und dynamisch von Linux auf SMB Shares zugreifen will sollte er sich auch Komba2 [[http://www.bnro.de/~schmidjo/|LinNeighborhood]] und [[KDE]]s konqueror anschauen ([[http://docs.kde.org/en/3.2/kdenetwork/lisa/|lisa]] muss laufen).

= Tips und Tricks =
== z.B. Virtuelle Server ==
Eine unscheinbare Option mit durchschlagender Wirkung ist.

{{{
[global]
netbios aliases = server prod test
include = /etc/samba/smb.conf.%L
}}}
Dadurch entstehen mehrere Server in der Netzwerkumgebung die man auch getrennt in den smb.conf.server, sowie smb.conf.prod .... einstellen kann.  Auch die Option: {{{config file}}} sollte zu diesem Zweck verwendbar sein.

== Dateinamen ==
Die Groß-/Kleinschreibung wird von UNIX/Linux beachtet, von Windows nicht. Manche Windows-Software ist auch noch quasi schizophren: Es werden Dateien in Kleinbuchstaben angelegt, und später wird mit Großbuchstaben darauf zugegriffen (und oh Wunder, wenn dann nix kommt @) )

Zeichensatz-Einstellung für korrekte Umlaute sowohl unter Linux als auch von Windows-Clients aus (diese Einstellung ist ''nicht'' standardmäßig voreingestellt!):

{{{
# korrekte Werte bei Samba 2.x:
 character set = ISO8859-1
 client code page = 850
# bei Samba 3.x:
 unix charset = ISO8859-1
 dos charset = 850
}}}
/!\ Dadurch ändert sich das Mapping, d.h. wenn man vorher falsche Settings drin hatte, so dass die Umlaute in Filenamen nur unter Windows korrekt aussahen, stimmen sie danach nicht mehr, weil Samba die Zeichen nun korrekt, aber eben ''anders'' interpretiert. Abhilfe kann hier u. U. auch [[convmv]] schaffen. Diese und andere Änderungen in der Konfiguration sollten '''nicht''' während einer aktiven Netzwerkverbindung getätigt werden. Hinsichtlich der Möglichkeit des Dateientauschens im Internet sollte man auf Umlaute (ä, ö, ü und ß) in Dateinamen jedoch generell verzichten.

=== Hinbiegen von falschen Umlauten ===
Angenommen man hat einen Samba 2.x, mit Charset-Settings auf Default (falsch für Deutschland), dann speichert Linux die von Windows-Usern gerne benutzten Umlaute falsch im Dateisystem ab, man sieht sie dann auch in z.B. mc nicht richtig auf dem Linux-Server.

Um dann auf Samba 3 mit richtigen Settings umzustellen, ist folgende Vorgehensweise möglich:

 1. Einstellen der falschen Settings in Samba 3, damit bekommt man auf Windowsseite erstmal richtige Dateinamen angezeigt:
{{{
 unix charset = CP850
 # ohne dos charset!
}}}
 1. Dann alle Daten von Windows aus vom Server z.B. auf die lokale Client-Festplatte kopieren.
 1. Dann Samba richtig konfigurieren (siehe vorheriger Abschnitt) und alle Daten wieder auf den Server kopieren.
 1. Jetzt stimmen die Umlaute sowohl am Client, als auch im Filesystem.
Oder [[convmv]] verwenden. -- HelmutGrohne <<DateTime(2005-12-01T23:39:03Z)>>

== Rechte / Modi / Attribute ==
Generell: UNIX-Rechte sind die Grundlage, per Samba kann man diese nur weiter einschränken.

Übrigens: Samba (mindestens ab Version 3) kontrolliert jede Minute, ob sich die Konfiguration geändert hat und liest diese gegebenenfalls neu ein. Ein "Reload" oder "Restart" ist deshalb nicht notwendig.

== Windows Domänenadminstrator einrichten ==
Wenn man wie von Microsoft gewohnt einen Benutzer Administrator für die Domäne einrichten möchte (RID = 500), dann empfiehlt sich folgendes Vorgehen unter Debian:

 * User Administrator unter Linux einrichten und der Gruppe root zuordnen (Details findet man in den man-Pages von adduser und usermod)
 * User Administrator für Samba einrichten (remote über net rpc user add oder lokal mit Hilfe z. B. von pdbedit)
 * WICHTIG: unbedingt prüfen, ob in der Datei smbusers ein Mapping von Administrator (unter Samba) 
  auf den root-Account (unter Linux) definiert ist. Dies unbedingt auskommentieren, da Samba unter Debian sonst 
  versucht, den user root zu authentifizieren, was mangels Passwort fehlschlägt und somit eine Anmeldung 
  an Samba verhindert.

=== DOS/WIN-Spezialattribute ===
Die Attribute System,Hidden,Archive gibt es unter UNIX nicht, Samba kann sie aber auf --x--x--x mappen:

{{{
map hidden = True
map system = True
map archive = True
}}}
Außerdem muss man darauf achten, dass 0111 in den div. "* mask" enthalten ist, sonst werden diese Mappings dadurch zunichte gemacht.

Ferner gibt der daraus resultierende `chmod`-Aufruf Probleme, wenn die Datei einen anderen Owner hat als den aktuell über Samba zugreifenden Benutzer (chmod darf nur der Owner und root natürlich).

=== Rechtevergabe auf Freigaben ===
Es ist sinnvoll, Zugriffsberechtigungen auf Freigaben auf eine gleichnamige UNIX-Gruppe abzubilden. Die Benutzer, die berechtigt sind, die Freigabe voll zu nutzen, fügt man dann einfach zu dieser UNIX-Gruppe hinzu. Wenn ein anderer Personenkreis Nur-Lese-Zugriff erhalten soll, verfährt man dementsprechend mit einer zweiten Gruppe namens ...-ro (read-only):

`/etc/group`:

{{{
einkauf:x:500:mueller,maier,schmidt
einkauf-ro:x:501:hinz,kunz
}}}
`/etc/samba/smb.conf`:

{{{
[einkauf]
        comment = Daten der Abteilung Einkauf
        path = /daten/einkauf
        read only = No
        valid users = @einkauf, @einkauf-ro
        read list = @einkauf-ro
        # force group = +einkauf    # kann statt sgid verwendet werden, "+" ist wichtig!
        # bei Benutzung einer ...-ro-Gruppe muss dies leider so gesetzt werden:
        create mask = 0775
        directory mask = 0775
        # ohne ...-ro-Gruppe ist dies besser:
        #create mask = 0771
        #directory mask = 0771
}}}
Wie man sieht, kann man so den Share-Namen, den UNIX-Pfad und die beteiligten Benutzergruppen alle vom Identifier "einkauf" direkt ableiten, was die Administration ungemein vereinfacht.

Damit beim Speichern einer Datei die Gruppe korrekt auf "einkauf" gesetzt wird (was ja nicht die primäre Gruppe des Benutzer ist), kann man entweder alle Verzeichnisse sgid und group einkauf setzen oder `force group = +einkauf` verwenden (das +-Zeichen ist hier extrem wichtig!).

{{{
find /daten/einkauf -type d -exec chgrp einkauf {} \;
find /daten/einkauf -type d -exec chmod g+s {} \;
}}}
Bei Umstellungen von bestehenden Datenbeständen empfiehlt es sich auch, einmalig zumindest Gruppe und Modus aller Verzeichnisse und Dateien sinnvoll zu setzen.

== Freigaben per fstab einbinden ==
Um Freigaben einzubinden verwendet man in modernen Linuxsystemen das [[CIFS]]-Dateisystem (früher "smbfs"). In vielen Systemen ist mit ''man mount.cifs'' ausreichend Hilfe vorhanden.

Ein [[fstab]]-Eintrag kann so ähnlich aussehen:

{{{
//sambaserver/freigabe /mnt/mountpunkt cifs user=username,password=passwort,uid=502,gid=500
}}}
(mit uid und gid wird das DateiSystem mit den entsprechenden Eigentümern eingebunden, damit Du nachher auch Schreib- und Lesezugriff hast)

== Freigaben in einem Terminal per mount einbinden ==

Dies funktioniert folgendermaßen:

{{{
mount -t cifs //server/freigabe[Verzeichnis] Mountpunkt/ -o { username=Benutzername,password=Paswort | credentials=/Pfad/Zu/Datei }
}}}

Mögliche Fehler (Details können per dmesg | tail abgerufen werden):

* -22: Unter Debian/Ubuntu hilft es, per apt-get install smbfs das Paket smbfs zu installieren, dann klappt das mounten

== Schreib/Lese Rechte ==
Sollten in besondere nach Updates über das vorhandene Paketmanagment überprüft werden. Nicht nur einfach machen lassen, nachschauen ist die Devise. Debian z.b (dort ist es mir sehr unangenehm aufgefallen) setzt defaultmässig die writeable Permissons auf "NO" zurück, was das beschreiben von Netzwerkshare's faktisch unmöglich macht. Der Anwender steht da und wundert sich.

Hat mich ca. 6 Stunden beschäftigt, zwar @home, aber trotzdem finde ich ist so ein Verhalten, gelinde gesagt, etwas absonderlich.

== File-Locking ==
Wenn dies falsch eingestellt ist, kann es zu merkwürdigem Verhalten und Abstürzen von Datenbankanwendungen kommen. Dann {{{ blocking locks = no }}} ausprobieren, wenn das nicht reicht, zusätzlich noch  {{{strict locking = yes }}}.

== Quota-Hacks ==
Siehe [[quota/BenutzerUndGruppen]].

== Drucken ==
=== Samba & CUPS auf Debian ===
Siehe [[CUPS]].

=== Drucken auf Drucker an Windows-Arbeitsplatz ===
{{{
[drucker]
    comment = Drucker an Arbeitsplatz xy
    path = /tmp
    print ok = yes
    browseable = yes
    print command = echo "print %s" | smbclient //clientname/druckername -Uusername%userpasswort ; rm %s
}}}
/!\ Am Besten einen Windows-User ohne Rechte nehmen, ansonsten wär das Passwort im Klartext wohl möglicherweise ein Problem.

=== PDF-Drucker ===
Mit dieser Druckfreigabe können Anwender einfach PDFs erzeugen - auf dem Client installiert man dazu einen Postscript-Druckertreiber, z.B. Apple Color Laserwriter. Das PDF wird immer als ~/pdf/output.pdf erzeugt (und überschreibt dabei gnadenlos das vorher erzeugte PDF, wenn man es nicht sinnvoll umbenannt hat).

{{{
[ps2pdf]
   comment = PS to PDF converter (-> $HOME/pdf/output.pdf), delete temp.ps!
   path = /tmp
   guest ok = yes
   create mask = 0700
   printable = yes
   browseable = yes
   read only = yes
   print command = ( mkdir %H/pdf ; rm %H/pdf/output.pdf ; ps2pdf %s %H/pdf/output.pdf ; rm %s ; rm %H/pdf/temp.ps )
}}}
/!\ Diese Methode funktioniert bei `printing = cups` nicht mehr, weil dort wohl nur in CUPS konfigurierte Drucker angesprochen werden.

=== Druckprobleme - druckt nicht mehr ===
Problem: Nach einem Hardwareproblem (mit Systemcrashes) ging plötzlich von allen Windows-Clients aus kein Ausdruck mehr, obwohl alle Dienste korrekt gestartet waren und an der Konfiguration nicht geändert worden war. Windows meldete nur lapidar ''Die Testseite konnte nicht gedruckt werden. Soll die Druckproblembehandlung angezeigt werden? Es konnte kein Druckauftrag erstellt werden.'', was nicht sehr hilfreich war. Die Testseite von CUPS funktionierte.

Lösung: Es fand sich dann Folgendes nach einem fehlgeschlagenen Druckversuch im Logfile eines Test-Arbeitsplatzes:

{{{
[2003/09/27 10:17:19, 0] tdb/tdbutil.c:tdb_log(475)
  tdb(/var/cache/samba/printing.tdb): rec_read bad magic 0x0 at offset=35728
}}}
Es ist also bei dem Crash die printing.tdb beschädigt worden. Dies ist eine Datei, die Samba automatisch erstellt, sie kann also einfach gelöscht werden:

{{{
/etc/init.d/samba stop
rm /var/cache/samba/printing.tdb
/etc/init.d/samba start
}}}
Und schon druckt es wieder! ;-)

Tritt übrigens bei Samba v3.0.11 immer noch auf, die Dateien heissen dort jetzt aber `/var/cache/samba/printing/*.tdb` - löschen hilft, werden automatisch neu generiert.

=== Druckprobleme - langsamer Ausdruck ===
Von http://www.edoceo.com/liber/network-cups.php - ohne Gewaehr, noch nicht ausprobiert:

Windows XP SP2 Slow Printing Bug

This information was difficult to find on the web so here it is. If printing to the Samba printer is slow from Windows XP with Service Pack 2 the issue is caused by some extra junky registry entries. It's unclear why this causes the problem, who's fault is it anyways?

The fix is to remove HKEY_CURRENT_USER\Printers\*.

{{{
# Values
HKEY_CURRENT_USER\Printers\DeviceOld = REG_SZ
# Subkeys
HKEY_CURRENT_USER\Printers\Connections
HKEY_CURRENT_USER\Printers\DevModePerUser
HKEY_CURRENT_USER\Printers\DevModes2
HKEY_CURRENT_USER\Printers\Settings
}}}
== Performance-Tuning ==
 * Server:
 {{{
  socket options = TCP_NODELAY SO_RCVBUF=xxxx SO_SNDBUF=xxxx
  # mss=536 -> xxxx=8576
  # mss=1460 -> xxxx=8760
  # regel: BUF = n * mss, n=2..16 und ca. 8KByte groß
  # Schrott-NICs / schlechte Treiber wollen eher kleinere BUFs, also n=2
 }}}
 * Client:
  * NETBEUI und IPX abschalten
 * generell: 10/100MBit/s- und HDx/FDx-Settings an NICs und Switches sollten übereinstimmen
Kann jemand die möglichen Optionen verständlich erläutern und eventuell einige Tips geben wie man diese Werte sinnvoll einstellt ?

{{{
SO_KEEPALIVE
SO_REUSEADDR erzwingt die sofortige Freigabe des Ports bei einem Crash. Normalerweise muss man dann ca. 2 Minuten auf den Timeout warten.
SO_BROADCAST
TCP_NODELAY
IPTOS_LOWDELAY
IPTOS_THROUGHPUT
SO_SNDBUF *
SO_RCVBUF *
SO_SNDLOWAT *
SO_RCVLOWAT *
}}}
Die manpage zu smb.conf erklärt leider nicht alles. Ich hatte einige performance Probleme vergangene Woche mit Samba 2.2.6 unter SuSE 8.1 mit win98, 2000 und XP Clients. Derzeit habe ich wie in der manpage angegeben die beiden Optionen aktiviert

{{{
socket options = TCP_NODELAY IPTOS_LOWDELAY
}}}
und seitdem läufts besser aber sonst - keine Ahnung; das Beispiel oben (mit mss usw.) verstehe ich nicht so ganz; die manpage zeigt als Beispiel noch

{{{
SO_SNDBUF = 8192
}}}
also genau 8kB - was ist denn nun sinnvoll und richtig ? -- IngoSchnieders <<DateTime(2003-02-14T20:26:55)>>

== (Un-)verschlüsselte Passwörter ==
Wenn die Unix und Windows-Logins auf gemeinsame Passwörter zugreifen sollen, gibt es drei Möglichkeiten:

 1. Die Passwörter werdem UNIX-mäßig gesichert, dann müssen alle Windows-Clients auf unverschlüsselte Passwörter umgestellt werden.
 1. Die Passwörter werden von Windows (oder Samba) verwaltet, dann muss man die Linux/Unix-Rechner entsprechend umstellen (z.b. über [[PAM]]).
 1. Die Passwörter werden in einem [[LDAP]]-Verzeichnis abgelegt.
Die erste Möglichkeit ist hier beschrieben:

Um einem Win-98 Client das verschlüsselte Passwort abzugewöhnen, muss der folgende Registry-Key erzeugt werden:

 1. Registry mit regedit.exe öffnen und wechseln nach: `HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP`
 1. Erzeugen eines Eintrags (DWORD): `EnablePlainTextPassword`
 1. Ändern des Wertes auf: 1
Um einem Win-NT Client das verschlüsselte Passwort abzugewöhnen, muss der folgende Registry-Key erzeugt werden:

 1. Registry mit regedt32.exe öffnen und wechseln nach: `HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rdr\Parameters`
 1. Erzeugen eines Eintrags (REG_DWORD): `EnablePlainTextPassword`
 1. Ändern des Wertes auf: 1
== Samba als Zeitserver ==
{{{
[global]
time server = boolean
Default: no
Alternative: yes
}}}
Wenn die Variable auf "yes" gesetzt wird bietet der Samba Server die Zeit auch über das smb Protokoll an.

Die Windows Clients können jetzt mit {{{ net time \\<timeserv> /set /yes }}} ihre eigenen Uhren stellen. (timeserv kann natürlich auch ein netbios alias Name sein.)

== Suchen in einer Arbeitsgruppe ==
 * `net view` - Windows (sowie Samba ab 3.0.0)
 * `smbclient -L '*'`
 * `nmblookup` - Windows hat da `nbtstat`
 * `nmblookup -M -` - wer ist der Masterbrowser?
== Samba konfigurieren mit SWAT ==
/!\ SWAT ist standardmäßig nicht verschlüsselt, da beim anmelden das Rootpasswort übertragen wird ist dies sehr gefährlich. Mit stunnel (www.stunnel.org) und openssl kann die Verschlüsselung jedoch leicht nachgerüstet werden.

Pakete installieren:

 . apt-get install stunnel openssl swat  Zertifikat erzeugen:  mkdir /etc/stunnel  /usr/bin/openssl req -new -x509 -days 1000 -nodes -config /usr/share/doc/stunnel/examples/stunnel.cnf -out /etc/stunnel/stunnel.pem -keyout /etc/stunnel/stunnel.pem  chmod 700 /etc/stunnel/stunnel.pem inetd.conf-Eintrag: swat   stream  tcp     nowait.400      root    /usr/sbin/tcpd  /usr/sbin/stunnel -p /etc/stunnel/stunnel.pem  -l /usr/sbin/swat
oder [[attachment:swat.sh]]

In den meisten Distributionen ist neben Samba ein Dienst namens SWAT enthalten. Diesen Dienst kann man leicht in der [[inetd]]-Konfiguration aktivieren. Damit wird auf dem Port 901 ein Webinterface zur Konfiguration von Samba bereitgestellt. Einfach in einem Browser localhost:901 aufrufen. Mit SWAT lassen sich Benutzer Anlegen der Samba Dienst neu starten und Freigaben für Verzeichnisse und Drucker erstellen.

/!\ SWAT hat (zumindest früher, aktueller Stand ist mir nicht bekannt) alle Kommentare und Default-Werte aus der smb.conf entfernt!

= Spezielle Erfahrungen =
 * eine alte Distribution wie z.B. SuSE 6.3 sollte man nicht versuchen, auf Samba 2.2.4 upzudaten, es gibt beim Compile dort alle möglichen Warnings und Fehler (selbst wenn man die aktuellen Kernel-Includes hat), so dass das ganze nur sehr schwer überhaupt zum Übersetzen zu kriegen ist
 * Samba 2.0.10 (die letzte aus der 2.0er Serie) hingegen ist einfach unter SuSE 6.3 zum Laufen zu bekommen
= Login Prozeduren =
Windows erwartet beim anmelden, wenn nicht in der smb.conf ein festes loginscript eingetragen wurde in \\SERVER PDC\netlogon die datei %Username%.bat.

Ein Beispiel einer %Username%.bat

{{{
rem login script for group edvmitglieder
rem call public script first
rem u: is public directory
set aproedv=no
set kfmedv=yes
set admin=no
set po=no
set aida=no
set dcpa=no
set sfirm32=yes
call \\serverpdc\netlogon\global.bat
}}}
Mit den set anweisungen werden die enviromentvariablen gesetzt. Der Wert der Variablen wird in der aufgerufenen global.bat abgefragt.

Hier ein Beispiel einer Abfage auf den Wert einer Variablen.

{{{
rem persistent:no verhindert das w2k beim anmelden automatisch
rem die alten buchstaben wieder herstellen moechte
set persistent=/persistent:no
if not %kfmedv%==yes goto ekfmedv
   net use j: \\server\entwicklung   %persistent%
   net use t: \\andererserver\buchhaltung  %persistent%
:ekfmedv
}}}
Das bedeutet wenn die Variable kfmedv mit dem wert yes gefüllt ist werden die Laufwerksverbindungen hergestellt.

__Umgehen der Rechte__

Oft ist es notwendig während dem abarbeiten des Anmeldescipts dateien aus den Netz auf den Lokalen Rechner zu kopieren (z.B die Antivir Konfiguration oder Lizenzschlüssel). Um die Datei auf dem Klient überschreiben zu können gibt es folgende Lösung.

CPAU.exe einen runas klone

{{{
\\server\netlogon\CPAU.exe -u %COMPUTERNAME%\Administrator -p passwd -profile -ex  "xcopy /y \\server\path\zu\conf\datei c:\programme\ziel"
}}}
 . Um zu verhindern das das Passwort im file steht ist es möglich mit.
{{{
cpau -u administrator -p password -ex c:\tmp\test.bat -enc -file c:\tmp\job.cmd
}}}
das enstandene file job.cmd zu verschlüsseln und dann mit

{{{
\\path\to\cpau.exe -dec -file \\path\to\job.cmd
}}}
abarbeiten zu lassen. Hilfe gibts mit cpau /? Cpau findet man hier http://www.joeware.net/win/free/index.htm

= Fragen und Antworten =
Frage: kann Samba so konfiguriert werden, daß es die Passwörter von einem Windows 2000 Server benutzt ?

 * Siehe smb.conf(5): security = server bzw security = domain. Allerdings muß dazu JargonFile:AFAIK der w2k im sogenannten "mixed mode" - also NT4.0 kompatibel - sein.
  * der "mixed mode" wird nur für den weiteren Betrieb von nt 4 pdcs/bdcs benoetigt, die Authentifizierung wird dadurch nicht verändert. -- BastianBlank <<DateTime(2002-06-06T10:51:07)>>
----
 . Frage: Samba und ACLs mit ext3: Beim Anlegen bzw. Kopieren einer Datei in ein Verzeichnis werden die für dieses gesetzten default Berechtigungen korrekt gesetzt. Wenn die Datei jedoch geändert wird (z.B. eine DOC Datei), so wird  der Besitzer, sowie die "owning group" aus der ACL-Liste entfernt (soweit dort explizit gelistet). Darüber hinaus werden die Rechte der besitzenden Gruppe auf ---, die des Besitzers auf  r-- gesetzt. Dieses Verhalten tritt jedoch nicht bei allen Applikationen auf. Nachvollzogen werden konnte es bei MS-Word, Excel, sowie dem Cisco !ConfigMager 2.6. Andere Anwendungen (z.B.) Notepad haben dieses Problem scheinbar nicht. (mit XP-Pro getestet). Ist dieses Problem bekannt? Gibt es eine Lösung dafür?
 * Ich würde tippen, dass z.B. Word die Datei nicht überschreibt, sondern eine temporäre Datei auf die alte Datei verschiebt (zumindest ändert sich die Inode-Nummer). Die alte Datei wird also gelöscht und die ACL von ihr geht verloren. Es bleibt wohl nichts anderes ürbrig, als die Datei mit den entsprechenden   Standard-Zugriffs-Berechtigungen anlegen zu lassen (in smb.conf) oder mittels {{{setfacl -d}}} dem ganzen Share eine entsprechende default-ACL zu verpassen. -- HenrykGerlach
----
 . Frage: Ich möchte Samba (2.2.0a) von Windows XP aus benutzen (ohne Domain-Controller). Wenn ich versuche auf \\samba zuzugriefen, bekomme ich nur die Meldung: Pfad nicht gefunden. Was tun ? --ThomasKalka
 * Mit \\samba rufst Du den Server samba auf; dieser sollte in deiner hosts-Datei stehen mit der IP der Samba-Servers. mit "ping samba" unter DOS kannst Du sehen, ob der Name samba aufgelöst wird und mit "net view \\samba" siehst Du ob der smbd|nmbd Service auf dem Rechner "samba" läuft. Du kannst dem Rechner aber jeden beliebigen (fast) Namen geben, er muß nur auf die IP des Rechners zeigen auf dem der samba-Server läuft. allg.: "ping \\<SERVER-NAME>" "net view \\<SERVER-NAME>" - VolkerStehling
 * Alternativ gibt man die IP-Adresse des Samba-Servers bei den Clients als WINS-Server an. Das setzt natürlich voraus, dass man Samba auch als solchen betreibt.
----
 Frage: Wir verwenden einen samba Server als Print-Spooler für einige windows Rechner. Das läuft eigentlich ganz gut. Der Einfachheit halber wurde nur ein Benutzer auf dem samba System eingerichtet. Auf Trennblättern wird nun leider nur der Samba User Name ausgegeben. Ist es möglich z.B. den Rechner Namen von dem die Verbindung aufgebaut wird, anstelle oder zusätzlich mit auszugeben? --ReimarBauer

 * Aus der man-page von smb.conf: " %m     the NetBIOS name of the client machine (very useful)."
  . Du musst also das "%m" noch irgendwie in die Zeile "printer = " reinfummeln.
Problem: open_oplock_ipc: Failed to get local UDP socket for address 100007f. Error was Cannot assign requested.

 * lo-Interface tut nicht richtig (nicht da, keine IP, Firewall ...)
----
 . Frage: Was macht man, wenn beim Aufruf von smbpasswd die Meldung "No builtin nor plugin backend for smbpasswd guest found" kommt.
Antwort: In der Datei /etc/samba/smb.conf folgende Zeile auskommentieren oder löschen:

passdb backend = smbpasswd guest

Ähnliches Problem:
{{{
  Probing module 'smbpasswd guest': Trying to load from /usr/lib/samba/pdb/smbpasswd guest.so
[2007/04/26 10:26:36, 3] lib/module.c:do_smb_load_module(49)
  Error loading module '/usr/lib/samba/pdb/smbpasswd guest.so': /usr/lib/samba/pdb/smbpasswd guest.so: cannot open shared object file: No such file or directory
[2007/04/26 10:26:36, 0] passdb/pdb_interface.c:make_pdb_method_name(174)
  No builtin nor plugin backend for smbpasswd guest found
[2007/04/26 10:26:36, 0] lib/util.c:smb_panic(1599)
  PANIC (pid 31029): pdb_get_methods_reload: failed to get pdb methods for backend smbpasswd guest
}}}

Lösung: `passdb backend = smbpasswd guest` ändern in `passdb backend = smbpasswd`

----
 . OffeneFrage: Kann jemand was zu den diversen Modulen sagen? recycle.so is ja noch recht leicht zu verstehen, aber die anderen....?
----
 . OffeneFrage: Kann man Statistiken zur Samba-Nutzung erzeugen? Gibt es dafür spezielle Tools? -- ThiloPfennig <<DateTime(2006-01-08T12:26:37Z)>>
----
 . KategorieServer KategorieNameService