CIFS-Freigabe kann in fstab nicht gemountet werden, wenn der Freigabename Leerzeichen enthält

CIFS-Freigabe kann in fstab nicht gemountet werden, wenn der Freigabename Leerzeichen enthält

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 \040ist 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: 040ist der ASCII-Code für das Leerzeichen im Oktalsystem.

verwandte Informationen