Wiki

Samba Client cifs

Samba Client cifs

Achtung!

Diese Seite wird aktuell von Max-Ulrich_Farber überarbeitet. Bitte hier keine Änderungen mehr vornehmen, sondern in Baustelle/Samba Client cifs!

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Dieser Artikel betrifft das Einbinden von Freigaben mit dem virtuellen Dateisystem cifs-vfs in das lokale Dateisystem des Client. Es empfiehlt sich aber, sich vorher mit den Besonderheiten des dabei verwendeten Protokolls CIFS vertraut zu machen.

Als Netzwerk-Dateisystem auf dem Client ersetzt cifs-vfs {en} das vorher verwendete Dateisystem smbfs {en} , das nicht weiter gewartet wird (und welches seit Hardy Heron auch nicht mehr in Ubuntu ist). Das Dateisystem cifs-vfs bietet gegenüber dem früheren smbfs nicht nur zusätzliche Funktionen, sondern auch eine wesentlich bessere Performance.

Mit dem virtuellen Dateisystem cifs-vfs werden die Freigaben systemweit eingebunden (im Gegensatz z.B. zum gvfs in GNOME). Weil der Network-Manager erst nach der Anmeldung des jeweiligen Benutzers aktiviert wird, ist es in diesem Fall vorzuziehen, für die Konfiguration der Netzwerk-Schnittstellen nicht den Network-Manager, sondern einen Eintrag in der Datei /etc/network/interfaces zu verwenden. Näheres hierzu siehe interfaces.

Hinweis:

Nachdem das frühere Dateisystem smbfs ab der Version 8.04 Hardy Heron nun nicht mehr unterstützt wird, verwendet Ubuntu die Bezeichnung "smbfs" als Synonym für "cifs".

Installation

Um cifs-vfs verwenden zu können muss folgendes Paket installiert[1] werden:

  • smbfs

Hinweis:

Seit Ubuntu 8.04 Hardy Heron können Freigaben mittels cifs-vfs auch eingebunden werden, ohne dass das Paket smbfs installiert ist. Dies ist jedoch nicht zu empfehlen, denn dann stehen einige wichtige Optionen nicht zur Verfügung.

Nutzung

mount.cifs

Das Einbinden mittels cifs-vfs geschieht durch einen Aufruf von mount.cifs. Dieser erfolgt meist nicht direkt, sondern indirekt über den Befehl mount oder über einen Eintrag in der Datei /etc/fstab (s.u.) Dabei sind aber einige Besonderheiten zu berücksichtigen.

Hinweis:

Für mount.cifs gelten nicht durchweg die gleichen Parameter und Mount-Optionen wie bei NFS oder einem echten Dateisystemen.

Weitere Einzelheiten und zusätzliche Optionen findet man in der Manpage mittels

man mount.cifs 

oder in deren deutscher Übersetzung. {de}

Mountpunkt erstellen

Um eine Freigabe einzubinden, muss zunächst ein Mountpunkt erstellt werden. Eine Freigabe kann wie eine Partition in einem Linux-System an einer beliebigen Stelle in der Dateisystemhierarchie eingebunden werden. Üblich sind jedoch die Verzeichnisse

  • /media (es erscheint ein Icon auf dem Desktop)

  • /mnt (es erscheint kein Icon auf dem Desktop)

Der Mountpunkt muss Eigentum desjenigen Benutzers sein, der die Freigaben einbindet. Üblicherweise ist dies "Root". Soll durch eine der mount-Optionen user oder users das Einhängen ohne Root-Rechte erlaubt werden, dann darf man in diesen Fällen nicht vergessen, die Besitzrechte für den Einhängepunkt mittels chown noch auf den einhängenden Benutzer zu übertragen.

Mehr Informationen dazu findet man in den Artikeln mount und Datenverwaltung.

# Allgemein
sudo mkdir <mountpunkt>
# Beispiel
sudo mkdir /media/austausch 

Server ansprechen

Im Gegensatz zum früher gebräuchlichen smbmount (smbfs) führt mount.cifs selbst keinen Rundspruch ("Broadcast") zur Namensauflösung durch. Deshalb werden üblicherweise die Server über ihre IP-Adresse angesprochen.

Möchte man zur besseren Übersichtlichkeit trotzdem lieber Server-Namen ("Netbios-Namen") verwenden, müssen diese auf dem Client in der Datei /etc/hosts eingetragen sein.

#Beispiel:
192.168.1.100 Ubuntu-Desktop

Sollte der Server seine IP-Adresse über DHCP beziehen, kann diese sich ändern. Dann ist eine definierte Auflösung des Rechnernamens nur möglich, wenn winbind installiert ist. In der Datei /etc/nsswitch.conf muss dann in der Zeile hosts das Schlüsselwort wins hinzugefügt werden.

Eine einfache Alternative ist auch die Verwendung eines grafischen Tools (siehe unten)

Temporäres Einbinden

Freigaben werden normalerweise mit Root-Rechten ("sudo") eingebunden. Wie dies auch anders möglich ist, siehe unten.

Möchte man eine Freigabe nur testen bzw. nur temporär einbinden, so erfolgt dies mit dem Befehl [2]:

# Allgemein
sudo mount -t cifs -o username=<benutzer>,password=<passwort> //<server-IP>/<freigabe> <mountpunkt>
# Beispiel
sudo mount -t cifs -o username=otto,password=geheim //192.168.1.100/Tausch /media/austausch 

Um sich auf eine Freigabe in einer Windowsdomäne zu verbinden, muss der Domänenname mit angegeben werden:

sudo mount -t cifs -o username=<domäne>/<benutzer>,password=<passwort> //<server-IP>/<freigabe> <mountpunkt> 

Achtung!

Wird das Passwort wie oben beschrieben offen in eine Befehlszeile eingefügt, so wird es auch in der Historie-Funktion der laufenden Shell gespeichert. So ist es leicht möglich, dass eine andere Person an das Passwort kommt. Deshalb sollte man - erst recht auf fremden Computern - Passwörter für sensible Daten niemals über die Option password angeben! Lässt man diese Option weg, so wird interaktiv nach dem Passwort gefragt, und die Eingabe erfolgt verdeckt.

Festes Einbinden

Zunächst wird wie oben beschrieben ein Mountpunkt erstellt. Um nun eine Freigabe fest (statisch) in das System einzubinden, ist diese in die Datei /etc/fstab [3] einzutragen.

Wird ein Passwort für die Freigabe benötigt, so wäre es recht unsicher, das Passwort in /etc/fstab zu schreiben, da jeder Benutzer des Systems Zugriff auf diese Datei hat. Daher sollte man Login-Daten in einer versteckten Datei hinterlegen und in den Mount-Optionen darauf verweisen.

Zunächst erstellt man eine Textdatei z.B. mit dem Namen .smbcredentials im eigenen Homeverzeichnis und trägt folgenden Inhalt ein:

username=<benutzer>
password=<passwort>

Damit die Datei nur vom Besitzer eingesehen werden kann, setzt man die Rechte entsprechend

sudo chmod 600 ~/.smbcredentials 

Hinweis:

Mit einer Live CD oder durch Erlangen von Root-Rechten kann immer noch jeder diese Datei lesen. Über die Verwendung des verschlüsselten Private-Verzeichnisses kann auch dies verhindert werden. Allerdings muss dazu der Benutzer selbst die Freigabe einbinden. Dies kann über die Option noauto erreicht werden.

Dann öffnet man die /etc/fstab mit "sudo" in einem Texteditor [3] und trägt die Freigabe ein

# Allgemein
//<server-IP>/<freigabe> <mountpunkt> cifs credentials=</pfad/zu/.smbcredentials> 0 0
# Beispiel
//192.168.1.100/Tausch /media/austausch cifs credentials=/home/otto/.smbcredentials 0 0

Auf diese Weise wird eine Freigabe beim Systemstart automatisch eingebunden. Sollten dabei Probleme auftreten, wird hier darauf eingegangen.

Hinweis:

Die interaktive Eingabe des Passworts bei mount und die Option credentials in fstab funktionieren nur, wenn das Paket smbfs installiert ist.

Einbinden öffentlicher Freigaben

Öffentliche Freigaben (Gast-Zugang erlaubt, public = yes bzw. guest ok = yes in Samba) können auch ohne Angabe von Benutzername und Passwort sowohl temporär als auch fest eingebunden werden. Die Frage nach einer interaktiven Eingabe des Passworts bzw. die Notwendigkeit von credentials in fstab unterbleiben, wenn man die Option guest verwendet. Wenn die cifs-UNIX-Erweiterungen nicht aktiv sind, dann hat man in diesem Fall allerdings für den Zugriff auf die eingebundenen Freigaben in der Regel nur die Rechte, die auf dem Server für jedermann gelten (Ausnahme: Verwendung von force user bzw. force group in der Datei /etc/samba/smb.conf auf einem Samba-Server).

Besitz- und Zugriffsrechte

Für die Besitz- und Zugriffsrechte zeigt cifs-vfs ein unterschiedliches Verhalten, je nachdem, ob die cifs-UNIX-Erweiterungen aktiv sind oder nicht.

Die UNIX-Erweiterungen sind standardmäßig aktiv, wenn die Freigaben sich auf einem Linux-Server mit Samba ab Version 2.2.4 befinden, aber nicht, wenn diese sich auf einem Windows-Server befinden.

Übertragung der Rechte mit CIFS-UNIX-Erweiterungen

Sind die CIFS-UNIX-Erweiterungen aktiv (auf dem Samba-Server: unix extensions = yes, Standard), so werden die echten Besitz- und Zugriffsrechte zwischen Server und Client übertragen. Ändert man auf dem Client mittels chmod oder chown oder über den Eigenschaften-Dialog der GUI die Rechte, ist die Änderung ebenso auch auf dem Server und auf allen anderen Clients wirksam, die auf die Freigabe zugreifen.

Die Angaben in der Datei /etc/samba/smb.conf auf dem Server legen dabei den Rahmen fest, in dem Zugriffsrechte auf dem Client Gültigkeit haben. Ist z.B. eine Freigabe in smb.conf nur zum Lesen freigegeben, können für sie von keinem Client aus Schreibrechte festgelegt werden. Ist sie aber in smb.conf auch für Schreibzugriffe freigegeben, kann sie von jedem Client aus mittels chmod für "nur lesen" eingeschränkt werden. Ebenso können Freigaben, die auf dem Server den Status "nur lesen" haben, aber in smb.conf mit Schreibrechten eingetragen sind, vom Client aus mit Schreibrechten versehen werden.

Die UNIX-Erweiterungen haben Vorrang vor anderen Angaben für Besitz- und Zugriffsrechte. Sollten in der Mount-Befehlszeile oder im Eintrag in /etc/fstab solche Angaben vorhanden sein, so werden diese bei aktiven UNIX-Erweiterungen ignoriert.

Hinweis:

Da die Synchronisation der Rechte über die Übertragung von uid, gid, dir_mode und file_mode erfolgt, funktioniert sie nur dann richtig, wenn die zugreifenden Benutzer auf dem Server und dem Client die gleiche Benutzerkennung (UID) und Gruppenkennung (GID) haben. Diese müssen nötigenfalls noch angepasst werden.

Da eine Veränderung der Benutzer- und Gruppenkennung weitreichende Folgen haben kann, lässt sich diese nicht einfach vom GNOME-Menü aus durchführen, sondern man muss dazu im Terminal den Befehl usermod verwenden. Siehe hierzu auch man usermod.

Hinweis:

Befinden sich die Freigaben auf dem Samba-Server in einem FAT- oder NTFS-Dateisystem, so wird die Funktionalität der CIFS-UNIX-Erweiterungen durch diese Dateisysteme eingeschränkt.

Simulation von Rechten ohne CIFS-UNIX-Erweiterungen

Wenn der Server ein Windows-Rechner ist oder wenn auf einem Samba-Server in /etc/samba/smb.conf im Teil [global] die Zeile unix extensions = no eingetragen ist , werden die UNIX-Erweiterungen nicht unterstützt. Dann bindet mount.cifs auf dem Client normalerweise alle Freigaben als Besitz desjenigen Benutzers ein, der sie gemountet hat, und überträgt eventuell vorhandene Schreibrechte nur auf diesen. Da das Einbinden in der Regel mit Root-Rechten (mittels sudo oder über /etc/fstab) erfolgt, hat dann also nur Root Schreibrechte.

Durch zusätzliche Angaben von uid, gid, file_mode und dir_mode können beim Mounten auf dem Client andere Besitz- und Zugriffsrechte festgelegt werden (siehe dazu auch Benutzer und Gruppen). Dies geht sowohl beim temporären Einbinden:

# Allgemein
sudo mount -t cifs -o username=<benutzer>,password=<passwort>,uid=<uid>,gid=<gid>,file_mode=<mode>,dir_mode=<mode> //<server-IP>/<freigabe> <mountpunkt>
# Beispiel
sudo mount -t cifs -o username=otto,password=geheim,uid=1000,gid=1000,file_mode=0644,dir_mode=0755 //192.168.1.100/Tausch /media/austausch 

als auch bei Einträgen in /etc/fstab:

# Allgemein
//<server-IP>/<freigabe> <mountpunkt> cifs credentials=</pfad/zu/.smbcredentials>,uid=<uid>,gid=<gid>,file_mode=<mode>,dir_mode=<mode>  0 0
# Beispiel
//192.168.1.100/Tausch /media/austausch cifs credentials=/home/otto/.smbcredentials,uid=1000,gid=1000,file_mode=0644,dir_mode=0755  0 0

Werden zu file_mode und dir_mode keine Angaben gemacht, so gelten die Standard-Werte file_mode=0644 und dir_mode=0755. Siehe hierzu auch Rechte sowie chmod.

Die so festgelegten Besitz- und Zugriffsrechte werden aber nur auf dem Client simuliert und nicht wirklich auf den Server übertragen. Werden auf dem Client Zugriffsrechte geändert oder in freigegebenen Ordnern Dateien mit anderen Besitzern angelegt, so gelten diese Änderungen nur auf dem Client und nur bis zum Aushängen (umount) der Freigabe. Beim Neustart des Client oder beim erneuten Einbinden der Freigabe gelten dann wieder die beim Einbinden (mount oder Eintrag in /etc/fstab) festgelegten Rechte.

Grafische Tools

Es gibt auch grafische Tools ("Frontends"), die Browsen (mit Namensauflösung) und Einbinden ins Dateisystem miteinander verbinden. Bei dem Tool PyNeighborhood und dem KDE-Programm Smb4K kann man zwischen smbfs und cifs-vfs (mit und ohne CIFS-UNIX-Extensions) wählen.

Einzelheiten zur Installation und Anwendung finden sich auf den Wiki-Seiten dieser Programme.

Weitere Einzelheiten

Zeitstempel

Sind die CIFS-UNIX-Erweiterungen aktiv, dann wird beim Kopieren oder Verschieben von Ordnern und Dateien der Zeitstempel (Datum, Uhrzeit) genau so übertragen, wie wenn sich Ursprung und Ziel im gleichen Dateisystem befinden würden. Andernfalls wird der Zeitstempel nur dann übertragen, wenn die Besitzer auf dem Server und dem Client übereinstimmen; sonst gelten die kopierten Dateien als neu angelegt.

Manuelles Einbinden als normaler Benutzer

Dies funktioniert aber nur dann, wenn für die Dateien mount.cifs und umount.cifs das Suid-Bit gesetzt ist. Ab Gutsy Gibbon 7.10 ist dies als Voreinstellung der Fall. In früheren Versionen muss dies mit folgenden Befehlen (im Terminal) nachgeholt werden:

sudo chmod +s /sbin/mount.cifs
sudo chmod +s /sbin/umount.cifs 

Hinweis:

Ab Lucid Lynx 10.04 muss das Suid-Bit wie oben Beschrieben wieder gesetzt werden, sonst funktioniert das einhängen als normaler User nicht!

Achtung!

Der Einsatz des SUID-Bit ist eine mögliche Sicherheitslücke und sollte nur mit Bedacht verwendet werden. In besonders gefährdeten Umgebungen sollte man deshalb lieber auf das Mounten ohne Root-Rechte ganz verzichten und für mount.cifs und umount.cifs das Suid-Bit mit sudo chmod -s ... löschen.

Außerdem muss der Mountpunkt immer Eigentum desjenigen Benutzers sein, der die Freigabe einbinden möchte. Es gibt dann zwei Möglichkeiten:

Mit Eintrag in /etc/fstab

Man erstellt einen Eintrag für die betreffende Freigabe in /etc/fstab (s.o.). Fügt man dort dann vor credentials noch noauto ein, so wird die Freigabe beim Systemstart nicht gleich eingebunden, sondern nur für das Einbinden vorbereitet:

# Beispiel
//192.168.1.100/Tausch /media/austausch cifs users,noauto,credentials=/home/otto/.smbcredentials 0 0

Durch die Option users wird erreicht, dass zum eigentlichen Mounten keine Root-Rechte mehr nötig sind (d.h. kein "sudo"). Zum Mounten bzw. Aushängen genügt dann die einfache Befehlszeile

# Allgemein
mount <mountpunkt>
umount <mountpunkt>
# Beispiel
mount /media/Tausch
umount /media/Tausch 

Direkter Aufruf von mount.cifs

Eine andere Möglichkeit besteht darin, mount.cifs direkt, d.h. ohne den Umweg über mount -t cifs aufzurufen. Ein Eintrag in /etc/fstab ist dafür nicht nötig. Es müssen dann aber alle gewünschten Parameter bzw. Optionen angegeben werden (siehe oben).

# Beispiel
mount.cifs //192.168.1.100/Tausch /home/otto/austausch -o credentials=/home/otto/.smbcredentials,iocharset=utf8 

Die Freigabe lässt sich dann aber auch nur über einen direkten Aufruf von umount.cifs wieder aushängen.

Umlaute und Sonderzeichen

Enthalten die Dateinamen in den Freigaben Umlaute und Zeichen wie ß, é usw., dann werden diese eventuell nicht richtig dargestellt. Durch die Optionen iocharset=utf8 erreicht man, dass die Umlaute richtig angezeigt und beim Schreiben von neuen Dateien auch richtige Umlaute erzeugt werden. Die Angabe einer Codepage ist nicht mehr notwendig; ein entsprechender Eintrag wird von mount.cifs ignoriert.

# Allgemein
//<server-IP>/<freigabe> <mountpunkt> cifs credentials=</pfad/zu/.smbcredentials>,iocharset=utf8 0 0
# Beispiel
//192.168.1.100/Tausch /media/austausch cifs credentials=/home/otto/.smbcredentials,iocharset=utf8 0 0

Wenn die CIFS-UNIX-Erweiterungen aktiv sind, dürfen in Dateinamen alle auch sonst in Linux zulässigen Zeichen verwendet werden. Sonst sind - wie auch in smbfs - nur diejenigen Zeichen zulässig, die auch in Windows für Dateinamen erlaubt sind.

CIFS-UNIX-Erweiterungen deaktivieren

Um die CIFS-UNIX-Erweiterungen vom Server aus zu deaktivieren, trägt man dort in der Datei /etc/samba/smb.conf im Teil [global] folgende Zeile ein:

unix extensions = no

Dies gilt dann generell für alle Freigaben dieses Servers.

Auf dem Client kann man hingegen auch für einzelne Freigaben festlegen, dass die CIFS-UNIX-Erweiterungen nicht berücksichtigt und statt dessen die Rechte gemäß den Optionen uid, gid, file_mode und dir_mode simuliert werden. Hierzu gibt man einfach bei den Mount-Optionen bzw. bei den Optionen im fstab-Eintrag noch zusätzlich die Option nounix an.

Möchte man die Unterstützung der CIFS-UNIX-Erweiterungen für einen einzelnen Client generell deaktivieren, dann kann man auf dem Client in einem Terminal mit Root-Rechten folgenden Befehl eingeben:

sudo -i
echo 0 > /proc/fs/cifs/LinuxExtensionsEnabled
exit 

Dies geht allerdings erst, nachdem das Kernelmodul cifs geladen oder eine Freigabe mit cifs-vfs eingehängt wurde, und gilt dann nur bis zum Neustart.

Probleme und Lösungen

Starten und Beenden

Shutdown und Reboot

Falls beim Herunterfahren ("shutdown") und beim Neustart ("reboot") des Client noch Freigaben eingehängt sind, bekommt man vom cifs-vfs unter Unständen Fehlermeldungen der folgenden Art, die zu erheblichen Verzögerung führen:

CIFS VFS: server not responding. No response for cmd 50 ...

Dies tritt immer dann auf, wenn die Freigaben durch einen Eintrag in fstab eingebunden wurden, das Netzwerk aber erst nach dem Abarbeiten von fstab z.B. mittels Network-Manager oder Wicd eingerichtet wurde, da beim Shutdown das Aushängen in umgekehrter Reihenfolge stattfinden muss.

Nach einiger Wartezeit wird der Vorgang trotzdem korrekt fortgesetzt. Es kann nicht allgemein empfohlen werden, das Problem dadurch scheinbar zu lösen, dass man das cifs-vfs früher aushängt, etwa indem man in /etc/rc0.d und /etc/rc6.d die Priorität des Links zur Datei /etc/init.d/umountnfs (in üblicherweise S31) verändert. Die möglichen Datenverluste wiegen schwerer als die Verlängerung der Wartezeit.

Empfindet man die Wartezeit beim Shutdown als sehr lästig, so kann man die Freigaben statt mit einem Eintrag in fstab mit einem Script mounten, das erst nach der Einrichtung des Netzwerks ausgeführt wird.

Einträge in /etc/fstab werden beim Systemstart nicht eingebunden

Einträge in /etc/fstab) sollten beim Systemstart automatisch eingebunden werden, wenn nicht noauto eingetragen ist. Bei Freigaben mit cifs-vfs funktioniert dies manchmal nicht. Der Grund ist, dass die Netzwerk-Verbindung und das Dateisystem noch nicht vollständig aktiviert sind, wenn fstab abgearbeitet wird.

In diesem Fall müssen die Freigaben mit

sudo mount -a 

von einem Terminal aus nachträglich eingebunden werden. Man kann dies auch automatisieren, indem man in die Datei /etc/rc.local folgende Zeilen einfügt:

sleep 20
mount -a
exit 0
# die Zeile exit 0 ist schon vorhanden

Die Zahl 20 kann man dann schrittweise verringern, bis die Verzögerung gerade noch ausreicht.

Sonstige Probleme

CIFS-UNIX-Erweiterungen und ältere Samba-Versionen

Versucht man, Freigaben mit aktivierten UNIX-Erweiterungen auf Clients mit älteren Samba-Versionen mittels cifs-vfs einzuhängen, kann es zu Fehlern kommen. Auch beim Zugriff mit neueren Samba-Versionen auf Server mit älteren Versionen (z.B.NAS) kann es sein, dass Datei-Attribute falsch interpretiert und Ordner nicht als solche erkannt werden ("mount error 20 = Not a directory"). Man sollte dann entweder auf dem Server oder auf dem Client die UNIX-Erweiterungen deaktivieren (siehe oben).

DFS und ältere Samba-Versionen

Seit Ubuntu 8.10 Intrepid Ibex (Samba Version 3.2.3) kommt es häufig zu Problemen mit der Unterstützung von DFS bei Verbindungen zu Servern mit älteren Samba-Versionen (vorwiegend NAS). Dabei werden die gleichen Fehlermeldungen ausgegeben wie bei Fehlern durch UNIX-Extensions. Hier hilft meistens die Option nodfs im Mount-Befehl oder im fstab-Eintrag.

Probleme mit Bytebereich-Sperrung

Neuere Samba-Versionen unterstützen die Bytebereich-Sperrung {de} (Byte-Range Lock). Einige Programme (z.B. TrueCrypt) kommen damit nicht zurecht und können deshalb auf gemountete Samba-Freigaben trotz korrekter Berechtigungen nicht schreiben. Abhilfe schafft hier die Mount-Option nobrl.

Symbolische Verknüpfungen ("symlinks") auf dem Server können über Samba freigegeben werden. Wenn sie vom Client aus aufgerufen werden, wird ihnen auf dem Server gefolgt. Wenn die UNIX-Erweiterungen aktiv sind, gilt dies jedoch nicht für symbolische Verknüpfungen innerhalb von freigegebenen Ordnern, wenn deren Ziel außerhalb der Freigabe liegt. Möchte man, dass beim Aufruf vom Client aus auch solchen Verknüpfungen gefolgt wird, muss man auf dem Server entweder die symbolischen Verknüpfungen durch den Befehl mount --bind (siehe mount) bzw. einen entsprechenden Eintrag in fstab ersetzen, oder aber die UNIX-Extensions mit dem Eintrag unix extensions = no in smb.conf deaktivieren.

Probleme beim Versand größerer Datenmengen

Beim Versand größerer Datenmengen können auf manchen Systemen ähnliche Fehlermeldungen wie auch oben beschrieben auftreten. Durch ein deaktivieren des Opportunistic Locking kann dies behoben werden. Dazu muss in der Datei /proc/fs/cifs/OplockEnabled der Wert von '1' auf '0' geändert werden. Da die Datei beim Start von cifs geschrieben wird, muss sie bei jedem Systemstart geändert werden. Dies wird durch ein Einfügen folgender Zeilen

modprobe cifs
echo 0 > /proce/fs/cifs/OplockEnabled
exit 0
# die Zeile exit 0 ist schon vorhanden

in /etc/rc.local erreicht.

Sollen die Freigaben statisch eingebunden werden, so dürfen sie erst spät gemountet werden (wie oben). In der fstab muss ein 'noauto' eingefügt werden und und vor dem 'exit 0' in /etc/rc.local müssen diese Zeilen

sleep 20
mount -a

eingefügt werden.

Verwandte Seiten

Diese Revision wurde am 5. Juni 2010 um 18:36 Uhr von Heinrich Schwietering erstellt.

Passwort vergessen?