Was ist der einfachste Weg, um eine Windows-Freigabe als lokalen Ordner im Home-Verzeichnis bereitzustellen?

26

Über Gnome Nautilus kann ich problemlos Samba-Freigaben von meinem Ubuntu-Server aus mounten. Diese "Reittiere" sind jedoch eine Art Fälschung. Viele von mir ausgeführte Anwendungen erkennen nicht, dass Gnome diese Serverordner bereitgestellt hat und daher keine Dateien von meinem Server öffnen kann.

In der Vergangenheit habe ich einen /etc/fstab Eintrag erstellt und diesen global gemountet , der /mntOrdner, aber das wird nicht funktionieren, da andere Leute meinen Ubuntu-Laptop teilen.

Was ist der einfachste Weg, um ein "echtes" Samba-Mount in meinem Heimverzeichnis (und dem anderer Leute) zu erstellen? Es ist in Ordnung, wenn es sich um einen Befehl oder eine GUI-Anwendung handelt, die ausgeführt werden kann, wenn ich mich anmelde. Diese Serverordner müssen nicht die ganze Zeit gemountet werden.

HDave
quelle
Warum sollten Sie Samba verwenden, um auf Dateien auf Ihrem Linux- Server zuzugreifen ? Samba ist für den Zugriff auf Windows- Netzwerkfreigaben und -Dienste gedacht .
Kynan
1
Weil es schwierig ist, NFS auf dem Server einzurichten, und es noch schwieriger ist, mit Windows-Clients zu arbeiten. Das Gleiche gilt für sshfs und andere.
HDave
Für sshfs ist kein anderes Setup auf dem Server erforderlich als das sshdAusführen, das Sie sowieso benötigen. Selbst wenn Samba ausgeführt wird, um Windows-Clients zu bedienen, würde ich es nicht für Linux-Clients verwenden. Übrigens dokan ist ein brillanter sshfs - Client für Windows, die einfach einzurichten ist.
kynan
Ich habe sshfs unter Windows eingerichtet ... es funktioniert gut. Aber warum eine Reihe von Windows / Mac-Maschinen optimieren, wenn der Samba-Server so gut funktioniert und so einfach einzurichten ist?
HDave
Samba ist sicherlich eine sinnvolle Option, um Dateien für Windows / Mac-Clients bereitzustellen. Ich halte es einfach nicht für notwendig, wenn nur Linux-Clients bedient werden. So lese ich Ihre Frage.
Kynan

Antworten:

27

Angenommen, Sie haben ein Verzeichnis mountsin Ihrem Home-Verzeichnis, in dem verschiedene Samba-Freigaben eingehängt werden sollen. Angenommen, Sie möchten speziell eine Freigabe bereitstellen, die sharenamevon einem Remotecomputer mit dem Namen hostname(dies kann auch eine IP-Adresse sein) aufgerufen wurde , und auf diesem Remotecomputer lautet Ihr Benutzername username. Erstellen Sie zunächst den Einhängepunkt:

mkdir ~/mounts/sharename

Dann mounten Sie die Freigabe:

sudo mount.cifs //hostname/sharename ~/mounts/sharename -o user=username

In Ubuntu 12.04 LTS und früheren Versionenmount.cifs können Sie , wenn Sie den Befehl nicht haben , entweder das cifs-utils-Installieren Sie cifs-utils Paket installieren oder smbmountstattdessen verwenden (was wiederum vom smbfs-Installieren Sie smbfs Paket bereitgestellt wird ).

sudo smbmount //hostname/sharename ~/mounts/sharename -o user=username

( smbmountist zumindest bisher nicht in Ubuntu 12.10 oder höher verfügbar , kann aber stattdessen verwendet werden. Dank an HDave für den Hinweis .)mount.cifs

Möglicherweise werden Sie aufgefordert, Ihr Kennwort auf dem lokalen Computer einzugeben, um den Befehl als root auszuführen. Anschließend werden Sie aufgefordert, Ihr Kennwort auf dem Remotecomputer einzugeben, um sich anzumelden und die Freigabe bereitzustellen.

Eliah Kagan
quelle
Musste allerdings sudo apt-get install smbfserstmal machen.
HDave
Auch sudo apt-get install smbfszuerst benötigt . Dann hat die Montierung an meinem Ende richtig funktioniert. Beachten Sie, dass ich den Hostnamen durch die IP-Adresse des Servers ersetzt habe. (Der Server ist eine WinXP-Box.) Ich bin mir nicht sicher, warum der Computername der XP-Box bei mir nicht funktioniert hat. DANKE LEUTE!
Logi
Dies ist jetzt in 12.10 gebrochen. Den Bug und die Problemumgehung finden
Sie
Ich erhalte: Mount-Fehler (12): Speicher kann nicht zugeordnet werden (Sie sagen, ich brauche Registry-Hack, aber ich habe keinen Zugriff auf die Windows-Seite ...)
Calmarius
@HDave Danke, ich habe meine Antwort aktualisiert. Da ich smbmountursprünglich (und nicht mount -t smbfs) verwendet habe, habe ich mount.cifsjetzt (anstatt mount -t cifs) verwendet, um meinen ursprünglichen Stil beizubehalten. mount -t cifswird natürlich funktionieren (wie mount -t smbfsam 12.04 und früher).
Eliah Kagan
4
  • Öffnen Sie Ihren Dateimanager, dh klicken Sie auf das Symbol für den Basisordner
  • Oben auf dem Bildschirm befindet sich das Menü für den Dateimanager (im Gegensatz zu oben im Fenster).
  • Klicken Sie auf Datei → Mit Server verbinden ... ; Es sollte ein Fenster mit dem Titel Mit Server verbinden geöffnet werden
  • Klicken Sie in das Dropdown-Feld Typ . Wähle Windows-Freigabe (dh ändere die Standardeinstellung von Public FTP)
  • Geben Sie den Server ein (den Namen, wenn er durch DNS oder seine IP-Adresse aufgelöst werden kann
  • Geben Sie den Anteil (dh die Elemente , die Sie sonst in einer Windows - Freigabe als sehen würden Teile Komponente von ‚\\ Server \ Share‘)
  • Geben Sie in Ordner den Namen eines bestimmten Verzeichnisses auf der Freigabe ein, auf der der Mount positioniert werden soll
  • Geben Sie beliebige / optionale Benutzerdetails ein
  • Die Freigabe sollte bereitgestellt werden und im Fenster "Dateimanager" in der linken Liste unter "Netzwerk" angezeigt werden
  • Vielleicht möchten Sie dann ein Lesezeichen für diese Halterung erstellen. Wiederum im Dateimanager-Menü am oberen Bildschirmrand: Lesezeichen → Lesezeichen hinzufügen (nachdem Sie zuerst auf die Freigabe geklickt / diese markiert haben, die Sie gerade gemountet haben).
Steve
quelle
1
Dies über Nautilus zu tun ist das, was ich damit gemeint habe, dass das Reittier ein "falsches" Reittier ist. Diese "Montierung" wird nur von einer kleinen Handvoll Gnome-Anwendungen erkannt. Versuchen Sie, eine Befehlszeile aufzurufen und ein "ls" auszuführen, oder versuchen Sie, eine Datei auf dem Mount von VLC oder anderen Apps zu öffnen, die den Gnome-Dateidialog nicht verwenden, und Sie werden feststellen, dass Ihre Mounts nicht vorhanden sind.
HDave
2
@HDave lshat für mich gearbeitet. cd ~/.gvfsdann lsund da sollte der mount sein. Sie können von dort aus einen Symlink zu jedem beliebigen Ort erstellen.
Begrenzte Versöhnung
Dies ist richtig, aber sie werden nicht vorhanden sein, wenn Sie sich zum ersten Mal anmelden. Sie müssen sie zuerst in Nautilus suchen, was umständlich ist.
HDave
3

Ich bin mir nicht sicher, ob Sie noch nach etwas Leichtem suchen. Ich habe es gerade gefunden:

Alle Freigaben, die Sie geöffnet haben, werden automatisch in Ihrem Home-Ordner unter gemountet/home/.gvfs .

Jede Anwendung kann die Freigaben wie normale Ordner erkennen und darauf zugreifen, solange Sie die Anwendung auf die gewünschten Dateien oder Ordner verweisen /home/.gvfs

Jean-Paul Boyer
quelle
1

Warum sollten Sie Samba verwenden, um auf Dateien auf Ihrem Linux- Server zuzugreifen ? Samba ist für den Zugriff auf Windows- Netzwerkfreigaben und -Dienste gedacht .

Verwenden Sie stattdessen sshfs , es ist überhaupt kein Setup erforderlich und Sie erhalten "richtige" Einhängepunkte, die von jeder Anwendung erkannt werden:

sudo apt-get install sshfs

Hängen Sie das entfernte Dateisystem mit ein

sshfs user@host:/path /local/mount/point

und aussteigen mit

fusermount -u /local/mount/point
kynan
quelle
Weil Sie andere Windows-Clients in Ihrem LAN haben. Und ja, sie können auch sshfs ausführen, aber Samba funktioniert großartig und ist rundum einfacher.
HDave
Fair genug, das geht aus Ihrer Frage allerdings nicht hervor. Außerdem hindert Sie nichts daran, über SSHFS von Linux und über Samba von Windows / Mac auf Ihren Linux-Server zuzugreifen. Sie können sogar auf mehrere Arten auf dieselbe Freigabe zugreifen.
kynan