web-dev-qa-db-de.com

Fehler beim Laden von CIFS-Freigaben

Ich versuche, eine Netzwerkfreigabe von einem Linksys NAS200 auf Fedora 16 zu mounten.

Das Programm, das ich ausführen möchte, akzeptiert keine Netzwerkadressen zum Speichern. Ich habe es ausgeführt, ohne die IP-Adresse des Servers anzugeben, und es wurde eine zufällige IP gefunden. Ich habe eine IP angegeben und das Gerät wird nicht gefunden.

Hier sind die Fehler:

[[email protected] ~]# mount -t cifs -v //NAS_SERVER/public/ /mnt/ -o username=user,password=pass
mount.cifs kernel mount options: ip=184.106.31.190,unc=\\NAS_SERVER\public,,ver=1,user=user,pass=********
mount error(115): Operation now in progress
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
[[email protected] ~]# mount -t cifs -v //NAS_SERVER/public/ /mnt/ -o username=user,password=pass,ip=192.168.1.77
ip address 192.168.1.77 override specified
mount.cifs kernel mount options: ip=192.168.1.77,unc=\\NAS_SERVER\public,,ver=1,user=user,pass=********
Retrying with upper case share name
mount.cifs kernel mount options: ip=192.168.1.77,unc=\\NAS_SERVER\PUBLIC,,ver=1,user=user,pass=********
mount error(6): No such device or address
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

Aber es funktioniert mit smbclient:

[[email protected] ~]# smbclient -L 192.168.1.77
WARNING: The security=share option is deprecated
Enter user's password: 
Domain=[HOME] OS=[Unix] Server=[Samba 3.0.22]

Sharename       Type      Comment
---------       ----      -------
IPC$            IPC       IPC Service (Network Storage)
DISK 1          Disk      
PUBLIC          Disk      
ADMIN$          IPC       IPC Service (Network Storage)
Domain=[HOME] OS=[Unix] Server=[Samba 3.0.22]

Server               Comment
---------            -------
HOME                 Samba Server Version 3.6.5-85.fc16
NAS_SERVER           Network Storage

Workgroup            Master
---------            -------
HOME                 HOME

Warum kann ich nicht auf diesen Samba-Server mounten? Was bedeuten diese Fehler?

30
Kendall

Fehlerbehebung beim Zugriff auf einen unter Windows XP freigegebenen Ordner von Fedora aus:

Sie erhalten den Fehler:

mount error(115): Operation now in progress
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

1. Stellen Sie sicher, dass Linux die andere Box anpingen kann.

Führen Sie diesen Befehl auf der Linux-Box auf die IP der Windows-Box:

[email protected] /mnt $ ping 192.168.13.107
PING 192.168.13.107 (192.168.13.107) 56(84) bytes of data.
64 bytes from 192.168.13.107: icmp_req=1 ttl=128 time=0.366 ms
--- 192.168.13.107 ping statistics ---
44 packets transmitted, 44 received, 0% packet loss, time 42999ms
rtt min/avg/max/mdev = 0.178/0.227/0.366/0.038 ms

Wenn Sie die Box nicht erreichen können oder die Konnektivität ein- und ausgeschaltet ist, kann sich mount beschweren.

2. Stellen Sie sicher, dass ein Ordner tatsächlich unter Windows freigegeben ist, gehen Sie folgendermaßen vor.

  1. Öffnen Sie den Dateibrowser zu C:\.
  2. Erstellen Sie einen neuen Ordner mit dem Namen public. Sie haben jetzt also C:\public
  3. Erstellen Sie in diesem Ordner ein neues Textdokument mit dem Namen "testing.txt".
  4. Klicken Sie mit der rechten Maustaste auf den Ordner C:\public und gehen Sie zu Eigenschaften.
  5. Klicken Sie auf die Registerkarte Freigabe.
  6. Stellen Sie sicher, dass "Diesen Ordner im Netzwerk freigeben" aktiviert ist. Notieren Sie den Freigabenamen: 'public'.
  7. OK klicken. Unter dem Ordner sollte eine kleine Hand erscheinen, was bedeutet, dass er freigegeben ist.

Der Ordner 'public' ist nun freigegeben und Sie sollten in der Lage sein, eine Verbindung mit Linux herzustellen.

3. Mounten Sie unter Linux die Freigabe mit 'mount':

  1. Öffnen Sie eine Konsole und su, um root zu werden.
  2. verzeichnis erstellen mkdir /mnt/windows Hier greifen Sie auf die freigegebenen Dateien zu.

  3. führen Sie den Befehl mount aus, der Sie zur Eingabe eines Kennworts auffordert:

    [[email protected] mnt]# mount -t cifs //192.168.13.107/eric /mnt/windows -o username=eric
    Password for [email protected]//192.168.13.107/public:  **********
    [[email protected] mnt]# 
    
  4. Der obige Befehl fordert Sie zur Eingabe eines Passworts auf. Geben Sie das richtige Passwort ein. Ein falsches Passwort führt zu einem Fehler. Wenn Sie sich nicht sicher sind, können Sie das Kennwort in der Windows-Box unter Systemsteuerung -> Benutzerkonten ändern.

  5. führen Sie den Befehl cd /mnt/windows und ls aus. Der Inhalt des Laufwerks wird angezeigt:

    [[email protected] windows]# ls
    testing.txt
    [[email protected] windows]#
    
  6. Sie haben eine Verbindung zum Windows-Laufwerk hergestellt.

4. Stellen Sie mit dem Konqueror- oder Linux-Dateibrowser eine Verbindung zum freigegebenen Laufwerk her:

  1. Öffne deinen Dateibrowser, in meinem Fall konqueror.
  2. Geben Sie in der Dateipfadleiste smb://192.168.13.107/public ein und drücken Sie die Eingabetaste.
  3. Möglicherweise wird Ihnen ein Anmeldefeld für Benutzername und Passwort angezeigt. Geben Sie den Benutzernamen und das Passwort des Windows-Fensters ein, das oben in diesem Beitrag beschrieben wird.
  4. Herzlichen Glückwunsch, Sie sind mit dem freigegebenen Ordner verbunden.

FEHLERBEHEBUNG, wenn das oben genannte nicht funktioniert.

Schritt 1: Haben Sie versucht, beide Computer neu zu starten

Starten Sie beide Computer neu. Stellen Sie danach sicher, dass alle Windows-Updates abgeschlossen sind. Stellen Sie sicher, dass Linux auch über die Software-Updates verfügt. Nach Updates neu starten.

Schritt 2: Überprüfen Sie Ihre Firewalls, ZoneAlarms und andere Sicherheitssoftware

Möglicherweise blockiert eine Software, die Ihren Computer vor Viren, Malware oder anderen schädlichen Inhalten im Internet schützt, Ihren Dateifreigabeversuch. Die Windows-Firewall befindet sich möglicherweise in einem paranoiden Modus. Obwohl es unwahrscheinlich ist, dass die Windows-Firewall die Schuld trägt, sollten Sie sie vorübergehend deaktivieren, um sicherzustellen, dass dies nicht das Problem ist. (lass es nicht aus).

Fordern Sie eine Liste aller Sicherheitssoftware an, die möglicherweise auf den paranoiden Modus eingestellt ist. Windows-Firewalls, Firewalls von Drittanbietern, ZoneAlarms, Antivirenprogramme, Kaspersky, AVG oder alles andere, das Sie vor Viren/Malware/Bösen schützen soll. Sie müssen diese überprüfen und entweder vorübergehend deaktivieren oder eine Whitelist für Ihre IP-Adresse öffnen.

Schritt 3: Erhalten Sie Hinweise von Sicherheitssoftware.

ZoneAlarm führt ein Protokoll aller Ordnerfreigabeereignisse und -versuche. Gehen Sie zu Übersicht-> Warnungen und Protokolle. Zeigen Sie eine Liste aller fehlgeschlagenen Versuche an. Dies ist auch für andere Software möglich. In diesem Fall schützt es Sie vor Ihnen.

Schritt 4: Verdächtige Probleme im Router oder im lokalen Netzwerk selbst

Möglicherweise enthält der Router, die drahtlosen Bridges, die dummen Hubs oder ein anderes Netzwerkgerät eine gewisse Unverschämtheit, indem der Verbindungsversuch mit Ihrem freigegebenen Ordner blockiert wird. Möglicherweise blockiert der Router oder das Gerät selbst einen Port oder befindet sich im eingeschränkten Modus. Hat jemand in letzter Zeit damit rumgespielt? Setzen Sie den Router auf die Standardeinstellungen zurück und versuchen Sie es erneut.

Schritt 5: Stellen Sie sicher, dass Ihr lokales Netzwerk einfach und korrekt ist.

Stellen beide Computer eine Verbindung zum selben Router her? Vielleicht ist einer mit einer beschissenen Netgear-WLAN-Brücke und der andere mit einem Router verbunden? Vereinfachen Sie das Netzwerk, indem Sie alle Computer mit einem Router verbinden. Starten Sie den Router und das Internet neu und versuchen Sie es erneut.

Schritt 6: Immer noch nicht funktioniert. Isolieren Sie das defekte Gerät.

Es ist Zeit, Katzen zu hüten und die defekte Einheit zu isolieren. Beweisen Sie, dass die Windows-Box Ihre Datei nicht freigibt, indem Sie eine Verbindung mit der Freigabe auf einem anderen Computer herstellen. Holen Sie sich einen Windows-Laptop oder ein Apple-Produkt von Freunden und verbinden Sie es mit Ihrem Netzwerk, um zu sehen, ob sie auf die Freigabe zugreifen können. Wenn nicht, hat die Windows-Box ein Problem. Wenn nicht, hat die Linux-Box das Problem.

Schritt 7: Verdacht auf die Firewall unter Linux

Beachten Sie spezielle Sicherheitsalarme oder spezielle Firewall-Software unter Linux. Führen Sie system-config-firewall aus und vergewissern Sie sich, dass smb aktiviert ist. Stellen Sie sicher, dass Linux Ihren Mount nicht verhindert. Erstellen Sie eine smb-Freigabe auf einer anderen Linux-Box und versuchen Sie, eine Verbindung dazu herzustellen.

Wenn nichts davon funktioniert. Verwenden Sie die Option "Nuclear", installieren Sie beide Betriebssysteme neu und beginnen Sie von vorne. Dies ist eine Raketenoperation.

35
Eric Leschinski

Versuchen:

mount -t cifs -v //NAS_SERVER/public/ /mnt/ -o username=user,password=pass,sec=ntlm

Der Schlüssel ist sec = ntlm

6
Hugo

Nicht sicher, wie relevant dies für Ihren Fall ist, aber ich hatte ein ähnliches Problem beim Laden einer CIFS-Freigabe auf meinem Android-Handy:

# mount -t cifs //192.168.0.2/media/ /mnt/cifs/media -o username=user,password=pass
mount: mounting //192.168.0.2/media/ on /mnt/cifs/media failed: No such device or address
#

Ich habe versucht, den abschließenden Schrägstrich zu entfernen, und anscheinend hat es einen Unterschied gemacht - er ist gestiegen:

# mount -t cifs //192.168.0.2/media /mnt/cifs/media -o username=user,password=pass
#
4
IceDragon

Weitere mögliche Lösungen für dieses Problem hinzufügen

Diese Fehlermeldung ist nicht sehr aussagekräftig, hat aber eine Zeitüberschreitung. Es gibt zahlreiche mögliche Gründe dafür, und während ich dieses Problem untersuchte, stieß ich auf einige Lösungen, die in diesem Thread noch nicht erwähnt wurden.

1.) Mehrdeutiges Netzwerk

Es wird in den verschiedenen Online-Lösungen für dieses Problem nicht häufig erwähnt, aber der Server, zu dem Sie eine Verbindung herstellen, muss sich im selben Subnetz wie Ihr lokaler Computer befinden. Dieses Problem trat bei mir auf, weil sowohl die kabelgebundenen als auch die kabellosen Verbindungen aktiviert waren und es nicht eindeutig war, zu welchem ​​Subnetz das Gerät gehört, da die beiden Verbindungen nicht dasselbe Netzwerk sind. Durch Deaktivieren von Wifi wurde das Problem sofort behoben. Ich bin beim Lesen von Das Werkstatt auf diese Lösung gestoßen:

[LÖSUNG]

In meinem Fall befand sich die DFS-Freigabe auf einem Speicher in einem anderen Subnetz. Ich habe einen Netzwerkalias (eth0: 1) mit einer IP in diesem Speichersubnetz hinzugefügt und dann hat es funktioniert.

Ich hätte so etwas wie "no route to host" anstelle des kryptischen "error (115): operation now in progress" erwartet ...

Ich kann nicht alles haben;)

Quelle: http://www.das-werkstatt.com/forum/werkstatt/viewtopic.php?f=7&t=2074

2.) Zeilenumbrüche am Ende der Anmeldeinformationsdatei

Anmeldedateien sind nützlich, wenn Sie Sonderzeichen wie das Komma , in Ihrem Kennwort haben. In den folgenden Optionen kann darauf verwiesen werden:

mount -t cifs //remote /mnt/local -o credentials=/path/to/cifs.credo

Die Datei ist mit sh-style Variablendeklaration formatiert:

username=me
password=mypassword
domain=mydomain

Wenn Sie eine Datei mit Anmeldeinformationen verwenden, vergewissern Sie sich, dass am Ende keine Zeilenumbrüche vorhanden sind. Andernfalls tritt beim Analysieren der Datei mit Anmeldeinformationen eine Zeitüberschreitung auf:

...
domain=mydomain
<empty line>

3.) Versuch, ein bestimmtes Verzeichnis anstatt des tatsächlichen Netzwerkvolumes bereitzustellen

Wenn das von Ihnen benötigte Verzeichnis ein Unterverzeichnis der Freigabe ist, können Sie diesen Ordner nicht direkt bereitstellen. Der Versuch, dies zu tun, führt zu einigen verschiedenen Fehlern, von denen einer einer ist.

Stellen Sie stattdessen den Netzwerkordner selbst bereit und fügen Sie dem gewünschten Unterverzeichnis einen symbolischen Link hinzu:

~> mkdir /mnt/local
~> Sudo mount -t cifs //remote /mnt/local
~> ln -s /mnt/local/path/to/my-folder /mnt/my-folder

Auf diese Weise erhalten Sie dasselbe Ergebnis wie beim Mounten des Unterverzeichnisses selbst, ohne jedes Mal einen Drilldown durchführen zu müssen.

4

Das Problem in meiner Situation war, dass ich Leerzeichen in der Anmeldeinformationsdatei/etc/smb-credentials hatte

username = foobar
password = secret

Nachdem ich es geändert habe:

username=foobar
password=secret

Es funktionierte.

3
relipse

Ich muss den -o "username=joe,password=yadayada,domain=adomain" //share/share /mnt oft zitieren, und er wird sofort angezeigt, und die meisten Beispiele, die ich nachgeschlagen habe, zeigen dieses Bit nicht (wenn es auf diesen Systemen benötigt wird).
Ich hatte dieses Problem gerade auf meinem Tablet (warum ich hier den UNC-Namen und nicht die IP-Adresse haben wollte).

2
mxdog

Zusätzliche mögliche Lösung

Wenn der Freigabeordner aus Windows 10 stammt (gilt wahrscheinlich auch für 7 und XP), stellen Sie sicher, dass die Freigabeeinstellungen des Windows-Ordners für den Typ des Netzwerks, mit dem Sie verbunden sind, richtig konfiguriert sind, z. B. Public oder Private.

Ich gebe nur meine Erfahrungen weiter und passe mich Ihrer Situation an. Öffnen Sie die Liste der WLAN-Netzwerke, und klicken Sie für das Netzwerk, mit dem Sie verbunden sind, auf Properties. Stellen Sie je nach Bedarf Public oder Private ein. (In meinem Fall wurde ein Private-Netzwerk fälschlicherweise als Public bezeichnet.)

Sobald das Netzwerk korrekt klassifiziert ist, klicken Sie mit der rechten Maustaste auf Ihren freigegebenen Ordner, wählen Sie Properties, wählen Sie die Registerkarte Sharing, wählen Sie den Link Network and Sharing Center und stellen Sie sicher, dass Turn on file and printer sharing für Public oder Private ausgewählt ist, abhängig von Ihrem zuvor klassifizierten WLAN-Verbindungstyp.

Danach konnte ich wie erwartet einen Debian-Rechner mit Windows 10 verbinden.

1
Adam Smith

Ein weiteres Problem kann mit DNS sein. Ich habe den gleichen Fehler "Vorgang wird ausgeführt" erhalten. Das Surfen mit Dolphin funktionierte jedoch einwandfrei. Der Hostname, den ich erfolgreich mit Dolphin verwendet habe, wird in 4 IP-Adressen aufgelöst, von denen eine mit 0 endet (es ist ein Unterdomänenname). Wenn ich den Namen für eine der anderen 3 IP-Adressen verwende, funktioniert mount. Ich denke, Dolphin ist schlauer, wenn es darum geht, einen tatsächlichen Host aufzusuchen, wenn ein (Sub-) Domain-Name angegeben wird, der dem von Mount entspricht.

0
Chris