Richtige Methode zum Mounten einer Windows-Freigabe

20

Ich habe eine Windows-Freigabe in mein Ubuntu 11.10-System eingebunden, indem ich der folgenden Zeile Folgendes hinzugefügt habe /etc/fstab:

//serveraddr/sharedfolder /mnt/foldername/ smbfs credentials=/home/myname/.smbpasswd 0 0

Verwenden Sie das Tutorial hier .

Aber es gibt ein Problem mit den Berechtigungen. Der Besitzer des Mount-Ordners ist root. Ich kann keine Ordner oder Dateien auf dem gemounteten Punkt erstellen, wenn ich nicht der Root bin. Auch ich kann die Inhaberschaft nicht über meinen Standardbenutzer ändern

sudo chown -R myname .

Ich habe gegoogelt und festgestellt, dass dies möglicherweise darauf zurückzuführen ist, dass Windows-Dateiformate (fat32 / ntfs) den Besitz nicht retten können. Aber wenn ich mich über Samba mit demselben Ort verbinde wie

smb://serveraddr/sharedfolder

Durch die Angabe meiner Anmeldeinformationen habe ich die Berechtigung zum Schreiben, ohne als Root angemeldet zu sein.

Wie kann ich es schaffen, dass ich in den bereitgestellten Ordner schreibe?

Petrichor
quelle

Antworten:

29

Nicht verwenden smbfs, der Name des neuen Protokolls ist cifsund Teil des Pakets cifs-tools(falls noch nicht geschehen).

Verwenden Sie stattdessen diese Zeile in Ihrem fstab

//server/share /mnt/mountname cifs username=server_user,password=user_password,iocharset=utf8,file_mode=0777,dir_mode=07‌​77 0 0

Woher

server = your server that you are trying to access
share = mapped share on that server
/mnt/mountname = any folder that you created with sudo /mnt/<folder_name>
username = the name of the user on that server that can access the mount
password = the password for that user

Danach können Sie mit testen sudo mount -a. Wenn Sie keine Fehler feststellen, können Sie sicher einen Neustart durchführen, um Ihre Freigaben in zu finden /mnt/<folder_name>.

Um eine Anmeldeinformationsdatei anstelle der Parameter usernameund passwordauf der zu verwenden fstab, können Sie eine Datei mit diesen 2 Zeilen erstellen, sodass Ihr Benutzername und Ihr Kennwort nicht explizit in der fstab angezeigt werden

sudo nano /etc/cifspwd

Fügen Sie diese Zeilen zur Datei hinzu

username=<username on server>
password=<password for that username>

Drücken Sie die Tastenkombination Strg + x, und drücken Sie bei Aufforderung y, um die Datei zu speichern.

Sichern Sie es mit

sudo chmod 600 /etc/cifspwd

Verwenden Sie diese Zeile anstelle der vorherigen

//server/share /mnt/mountname cifs credentials=/etc/cifspwd,iocharset=utf8,file_mode=0777,dir_mode=07‌​77 0 0

Danach ist der Neustart sicher, und Sie müssen das Mount durchführen und Ihre Daten sichern.

Bruno Pereira
quelle
Wenn dies nicht funktioniert, fügen Sie bitte die Ausgabe von ein cat ~/.smbpasswd.
Bruno Pereira
@ bbrunopereira81: Es funktioniert nicht. cat .smbpasswdgibt user=name.surname pass=******* dom=domainname
Petrichor
@ İsmailArı warum hast du domain? Sind Sie Teil einer Domain? versuchen , alle auf der gleichen Linie anstelle einer Datei außer für die Anmeldeinformationen zu machen, versuchen Sie dies auf einem Terminal: sudo mount -t cifs //ip_from_windows_pc/sharename /mnt/share -o username=windows_username,password=windows_password_for_user,iocharset=utf8,file_‌​mode=0777,dir_mode=0777. Wenn Sie Fehler bekommen, notieren Sie diese.
Bruno Pereira
1
Wenn Sie Informationen für die Anmeldeinformationsdatei hinzugefügt haben, können Sie diese Methode auch verwenden.
Bruno Pereira
2
Ich denke, es ist erwähnenswert, dass in Ubuntu 12.10 "mode" kein gültiger Parameter war. Stattdessen musste ich "file_mode" verwenden. Ich bin mir auch nicht sicher, ob ich mit den allgemeinen Berechtigungen von 0777 einverstanden bin. Wenn Sie eine private Freigabe nur für sich selbst bereitstellen, ist "file_mode = 0660, dir_mode = 0770" meiner Meinung nach geeigneter.
Avian00,