Wie mounte ich eine Windows / Samba Windows-Freigabe unter Linux?

21

Unter Linux (Ubuntu 12.04) möchte ich eine Windows-Freigabe / Windows-Partition //winsharedim Netzwerk bereitstellen. Ich kenne die IP oder sonst etwas nicht.

Auf einem Ubuntu-System kann ich ein Verzeichnis mit mounten

mount  //winshared/mypath /mnt/win

Auf einem anderen Ubuntu-System gibt es genau den gleichen Befehl

mount error: could not resolve address for winshared: Unknown error

Die Netzwerkeinstellungen scheinen auf beiden Systemen gleich zu sein, und ich habe smbfsund installiert samba(letzteres mit Fehlern). Muss ich noch etwas installieren? Muss ich etwas konfigurieren? Wie kann man die entscheidenden Unterschiede zwischen beiden Systemen herausfinden, um auf beiden Systemen die gleiche Mount-Arbeit zu erzielen?

Zusätzliche Information:

  1. Wenn ich smbclienteine Verbindung mit der Windows-Partition / share / whatever herstelle, funktioniert dies auf dem ersten System, aber nicht auf dem anderen System. Der Fehler ist:

    Connection to winshared failed (Error NT_STATUS_BAD_NETWORK_NAME)
    
  2. Nach diesem Tutorial habe ich smbfsund installiert cifs-utils, aber der mountBefehl von oben gibt immer noch den gleichen Fehler aus, der NICHT im Tutorial beschrieben wird.

  3. Ich habe auch einen Eintrag in /etc/fstabLesen

    //winshared/mypath /mnt/win cifs uid=alexander,credentials=/etc/samba/wincred 0 0
    

    Mit der Datei, die /etc/samba/wincredmit der gleichen Datei auf dem System identisch ist, funktioniert der Mount. Die MD5-Summe beider Dateien ist identisch. Daher kann ein Fehler in Bezug auf Anmeldeinformationen ausgeschlossen werden.

Alex
quelle
Lesen
slm
Ich habe die beiden Pakete installiert, bekomme aber immer noch den gleichen Fehler!
Alex
Ich habe die Frage aktualisiert. Ich habe die Zeile von fstab gepostet und überprüft, ob die Anmeldeinformationsdatei korrekt ist.
Alex
3
Ich würde dies von der ersten Befehlszeile aus zum Laufen bringen. Das Einfügen der Zeile in / etc / fstab erschwert lediglich das Debuggen für den Start. Wenn Sie nicht über die Befehlszeile einhängen können, ist es etwas anderes. Ich benutze das jeden Tag:mount -t cifs -o rw,netbiosname=serv1,credentials=/etc/creds.txt //192.168.1.1/somedir /mnt
slm
Nein, eine Änderung der Berechtigung auf 600 behebt das Problem nicht.
Alex

Antworten:

15

Entweder haben Sie ein Problem mit dem Namensauflöser (das Sie überprüfen können, indem Sie z. B. den von Ihrem Ubuntu-Host freigegebenen Host-Winshared pingen), oder das smbfs-Modul ist nicht geladen.

Möglicherweise müssen Sie smbfs zuerst mit installieren apt-get -y install smbfsund dann das Modul mit einfügen modprobe smbfs, aber danach sollten Sie einsatzbereit sein mount -t smbs.

Was Sie suchen, ist mount -t smbfs -o username=<your_username>,password=<your_password> //server/share /mountpoint.

Sami Laine
quelle
smbfsist installiert, aber eine modprobe smbfsRetoure FATAL: Module smbfs not found.Muss ich erst anfangen smbfs? Wenn das so ist, wie? Wie wird es nach einem Neustart automatisch gestartet?
Alex
@Alex - Es gibt nichts zu starten. Sie vermissen höchstwahrscheinlich Pakete.
slm
@Alex - In diesem Ubuntu-Tutorial finden Sie alles, was Sie brauchen: wiki.ubuntu.com/MountWindowsSharesPermanently
slm
Ich habe dieses Tutorial befolgt, bekomme aber immer noch den gleichen Fehler!
Alex
1
Unter Ubunut 18.04 habe ich die Installation von smbfs übersprungen und nur verwendet -t cifs. Sie können das Kennwortargument auch weglassen, wenn Sie interaktiv ausgeführt werden, da Sie von mount nach Ihrem Kennwort gefragt werden.
MrMas
3

Ich benutze ein BeagleBone Black , auf dem Debian 4.9 ausgeführt wird, und aufgrund der begrenzten Speicherkapazität musste ich einen Remote-Ordner bereitstellen, der auf einem Windows 10-Desktop gehostet wird. (Ich weiß, dass dies vom Standpunkt des Systemdesigns aus wahrscheinlich nicht das Beste ist, aber die geschäftlichen Anforderungen lassen oft wenig Raum dafür.) Da ich also improvisieren muss, habe ich mir einen bereitgestellten Remote-Ordner ausgedacht.

Nachdem ich auf viele, viele Probleme gestoßen bin, die beim Bereitstellen eines freigegebenen Windows 10-Ordners aufgetreten sind, ist hier meine Lösung, damit andere hoffentlich von meiner Erfahrung profitieren können.

Windows 10 "Remote" -Host

  1. Aktivieren Sie die SMB1.0 / CIFS-Dateifreigabeunterstützung in den Windows-Funktionen ( Details ).
  2. Starten Sie den Windows NetLogon- Dienst.
  3. Aktivieren Sie die Freigabe für den Ordner, den Sie freigeben möchten.

Debian Linux Client

  1. Installieren Sie die Support-Pakete: smbclientund cif-utils:

    sudo apt-get install smbclient
    sudo apt-get install cifs-utils
    
  2. Erstellen Sie ein Zielverzeichnis zum Einbinden der Remote-Freigabe:

    sudo mkdir -p /mnt/my_mount_dir
    
  3. Remote-Ordner einbinden:

    sudo mount -t cifs -o "domain=MYDOMAIN,username=MyUserName,password=myPas$werd,sec=ntlm" //(your windows host ip)/(your remote share name) /mnt/my_mount_dir
    

    UPDATE: Nach dem Update meiner lokalen Debian-Installation auf Version 6.3 mountbrach mein Befehl ab und ich musste die versOption zum Angeben von SMB1 hinzufügen:

    sudo mount -t cifs -o "domain=MYDOMAIN,username=MyUserName,password=myPas$werd,sec=ntlm,vers=1.0" //(your windows host ip)/(your remote share name) /mnt/my_mount_dir
    
Jim Fell
quelle
2
SMB1 ist veraltet und sollte nach Möglichkeit nicht mehr verwendet werden. Wenn Sie vers=2.1in die mountOptionen aufnehmen, erhalten Sie SMB 2. Sie sollten credentialsstatt usernameund auch besser verwenden password. Und das brauchen Sie vielleicht doch nicht sec=ntml.
Roaima
@roaima Danke für die Tipps, aber ich stecke mit den alten Sachen fest. Vielen Dank, dass Sie auch die Code-Formatierung korrigiert haben. Ich durfte den Code nicht zwischen die Listenelemente setzen.
Jim Fell
mounthat nicht gebrochen; Es wurde auf SMB2 oder möglicherweise 3 umgestellt. SMB1 ist seit weit über zehn Jahren veraltet und sollte nicht mehr verwendet werden.
Roaima
@roaima Das ist gut zu wissen, aber leider scheint Windows 10 nur "SMB1.0 / CIFS" zu unterstützen. Außerdem ist dies für ein privates Netzwerk gedacht, sodass ich mir keine allzu großen Sorgen um die Sicherheit mache.
Jim Fell
Windows 10 unterstützt SMB2 und SMB3. Sie mussten ein Support Package installieren, damit es auf SMB1 zurückgreifen konnte.
Roaima
1

Überprüfen Sie, ob winbind installiert ist. Dann muss in Ihrer /etc/nsswitch.confDatei winsin der hostsZeile aufgeführt sein.

So etwas wie:

hosts: files wins dns

Je nachdem, welche Pakete auf Ihrem System installiert sind, werden möglicherweise andere Module aufgelistet.

Juliano
quelle
Versuchte diese Lösung gestern auf Ubuntu 12.04 64bit und es hat super funktioniert. Vielen Dank. Heute mache ich dasselbe auf Ubuntu 12.04 32bit und es schlägt seltsam fehl.
Czarek Tomczak
1
@update: Es hat sich herausgestellt, dass Sie das winbind-Paket installieren müssen sudo apt-get install winbind.
Czarek Tomczak