Ich verwende ein Debian Squeeze-System und versuche, eine Windows-Freigabe in /etc/fstab zu mounten. Ich habe eine vorhandene CIFS-Mount-Datei zum Laufen gebracht, aber es handelt sich um eine einfache //xx.xx.xx.xx/Freigabename-Situation. Diese zweite funktioniert jedoch nicht.
Das Problem: Der Pfad der zweiten Freigabe enthält Leerzeichen … mehrere!
Die Zeile in fstab lautet:
//servername.org.au/ABC/Company Services/Department Services/Area Services/Restricted /mnt/n-drive cifs id=0,credentials=/etc/samba/login.crt,iocharset=utf8,noperm 0 0
Bisher habe ich versucht:
Doppelte Anführungszeichen um die Pfadnamen in fstab
//servername.org.au/ABC/"Company Services/Department Services/Area Services/Restricted" /mnt/n-drive cifs id=0,credentials=/etc/samba/login.crt,iocharset=utf8,noperm 0 0
Ersetzen des Leerzeichens durch \040 (wie unter Linux)
//servername.org.au/ABC/Company\040Services/Department\040Services/Area\040Services/Restricted /mnt/n-drive cifs id=0,credentials=/etc/samba/login.crt,iocharset=utf8,noperm 0 0
Escape mit Backslash
//servername.org.au/ABC/Company\ Services/Department\ Services/Area\ Services/Restricted /mnt/n-drive cifs id=0,credentials=/etc/samba/login.crt,iocharset=utf8,noperm 0 0
Nichts davon hat funktioniert.
Ich habe überprüft, ob das Verzeichnis gültig ist. Ich habe versucht, servername.org.au durch die IP zu ersetzen, auf die es aufgelöst wird, aber das hat auch nicht geholfen.
Der Fehler, den ich in kern.log erhalte, ist:
Kernel: [1830446.002198] CIFS VFS: cifs_mount fehlgeschlagen mit Rückgabecode = -22
Das ist alles. Es gibt nicht viele Einzelheiten, mit denen man weitermachen könnte …
Ich verwende für beide Mounts GENAU dieselbe Syntax und dieselben Anmeldeinformationen. Ich WEISS, dass die Anmeldeinformationen gültig sind und funktionieren, weil ich sie verwende, um mich mit derselben Freigabe auf meiner Windows-Box zu verbinden. Ich würde den Freigabenamen ändern, aber leider ist es nicht einer MEINER Server und sie werden es nicht tun.
Also schnalle ich mir einfach diese beiden Plundergebäcke an die Seite meines Kopfes und sage:
Hilf mir, Obi-Stack-Exchange! Du bist meine einzige Hoffnung!
Dank im Voraus!
(Bearbeiten: fehlerhafte Anführungszeichen in einem der Beispiele entfernt)
Antwort1
Das Ersetzen der Leerzeichen durch \040
ist eigentlich die richtige Vorgehensweise.
Der Grund, warum es bei Ihnen nicht funktioniert, liegt wahrscheinlich darin, dass nach folgendem Anführungszeichen (vergessene?) stehen /Restricted
:
//servername.org.au/ABC/Company\040Services/…/Restricted" /mnt/n-drive cifs id=0,credentials=/etc/samba/login.crt,iocharset=utf8,noperm 0 0
Ändern Sie das in:
//servername.org.au/ABC/Company\040Services/…/Restricted /mnt/n-drive cifs id=0,credentials=/etc/samba/login.crt,iocharset=utf8,noperm 0 0
(Beachten Sie, dass ich den Pfad zur besseren Lesbarkeit etwas gekürzt habe.)
Hintergrund: 040
ist der ASCII-Code für das Leerzeichen im Oktalsystem.