Es tritt ein Problem auf, bei dem das Mounten eines Remote-CIFS-Servers ohne fstab-Eintrag funktioniert, das Mounten über fstab jedoch nicht

Der folgende Befehl funktioniert:

$ sudo mount -t cifs //w.x.y.z/Home$ /mnt/dir -o domain=A,username=B,password="C",sec=ntlmssp,file_mode=0700,dir_mode=0700 

Wenn ich jedoch stattdessen die folgende Zeile zu / etc / fstab hinzufüge und versuche zu mounten Mit dem Befehl mount (z. B. mount -a oder mount /mnt/dir) erhalte ich den aufgelisteten Fehler unten:

$ tail -n 1 /etc/fstab //w.x.y.z/Home$ /mnt/dir cifs domain=A,username=B,password="C",sec=ntlmssp,file_mode=0700,dir_mode=0700 

Fehler:

$ sudo mount /mnt/csif mount error(13): Permission denied Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) 

Dump- und fsck-Passreihenfolge explizit festlegen auf 0 hilft nicht. Beide Befehle scheinen dasselbe zu tun.

Antwort

Wenn Sie den Befehl mount eingeben, wird der Teil password="C" wird zuerst von der Shell verarbeitet und wird zu password=C, bevor der Befehl mount angezeigt wird. Dies geschieht nicht mit fstab-Einträgen, daher müssen Sie die einfachen Anführungszeichen entfernen. Wenn Ihr Passwort Sonderzeichen enthält, können Sie diese durch ihren Oktalcode ersetzen, insbesondere \040 für Leerzeichen.

Kommentare

  • Ich musste Anführungszeichen verwenden, um eine Shell-Interpolation von Sonderzeichen im Passwort zu vermeiden. Das Entfernen der Anführungszeichen in Verbindung mit dem Ersetzen der Kennzeichen ' durch Oktalwerte löste mein Problem. Vielen Dank.

Antwort

Es wird empfohlen, Passwörter nicht direkt in (normalerweise weltlesbar). Fügen Sie sie stattdessen in eine Datei ein und verweisen Sie auf die Datei wie folgt:

//w.x.y.z/Home$ /mnt/dir cifs credentials=/home/username/cifs.creds,sec=ntlmssp,file_mode=0700,dir_mode=0700 

/home/username/cifs.creds gehört einem geeigneten Benutzer (entweder root oder einem Benutzer, der dem SMB-Benutzer entspricht, dem die SMB-Freigabe gehört) und chmod og-rwx Es enthält die Anmeldeinformationen im Format

domain=A username=B password=C 

A, B und C oben müssen wörtlich sein – es gibt keine Shell-ähnliche Analyse von Anführungszeichen oder Backslashes.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.