Kein Zugriff auf Samba-Aktien


8

Ich habe drei freigegebene Ordner in meinem lokalen Home-Verzeichnis, dh auf dem / home / me / meines Ubuntu-Desktops. Alle wurden mit "Freigabeoptionen" im Rechtsklick-Menü von Nautilus eingerichtet. Die Standardordner "Musik" und "Videos" sind identisch konfiguriert: Das Kontrollkästchen "Gastzugriff" ist aktiviert, das Kontrollkästchen "Anderen das Erstellen und Löschen erlauben" jedoch nicht. Der dritte Ordner mit dem Namen "freigegeben" ist so konfiguriert, dass kein Gastzugriff gewährt wird, sondern dass andere Dateien ändern können. Ich habe nicht /etc/samba/smb.confvon Hand geändert, sondern nur Freigabeoptionen verwendet, um diese sogenannten "Freigaben" zu erstellen und zu ändern.

Meine Mitbewohner haben zwei Windows 7-Computer und ein Ubuntu Netbook Remix-Netbook. Ich habe den oben genannten Desktop-Computer und Laptop 10.04 ausgeführt. Keiner dieser Computer kann auf eine der Freigaben zugreifen. Versuche, auf die Gastfreigaben zuzugreifen, führen zur Meldung

\\machine\directory is not accessible. The network name could not be found.

Dies ist die Fehlermeldung, die von einer VM unter Windows 2000 generiert wird. Die anderen Windows-Computer generieren einen ähnlichen Fehler. Der Ubuntu-Laptop gibt den Fehler aus Unable to mount location: Failed to mount Windows share. Nochmals ein Hoch auf informative Fehlermeldungen. Das hilft wirklich sehr.

Beim Versuch, den Ordner "freigegeben" vom Laptop aus zu durchsuchen, wird ein Kennwortdialog angezeigt. Dieses Verhalten ist für alle Maschinen gleich, die ich in der Situation ausprobiert habe. Bei Eingabe meines Benutzernamens und Passworts für das Konto, zu dem die Freigaben gehören, verschwindet der Passwortdialog kurz und wird durch einen identischen Dialog ersetzt. Es wird keine nützliche oder nicht nützliche Fehlermeldung angezeigt.

Beim Versuch, diesen Ordner mit der VM zu durchsuchen, ist das Ergebnis dasselbe, außer dass im Kennwortdialog hilfreich "falscher Benutzername oder falsches Kennwort" angegeben wird. Ich gehe davon aus, dass der betreffende Benutzername und das betreffende Passwort der des Benutzers sind, dem die Freigaben gehören. Ich habe alle anderen in diesem Zusammenhang verfügbaren Kombinationen aus Benutzername und Passwort ausprobiert und das Ergebnis ist das gleiche.

Ich möchte in der Lage sein, Dateien zu teilen. Das Teilen mit Windows-Computern ist eine nette Funktion, oder wäre es, wenn es verfügbar wäre. Ich denke wirklich darüber nach, Dateien zwischen zwei Computern mit derselben Version desselben Betriebssystems zu teilen, was eine Mindestbedingung für die Benutzerfreundlichkeit des Netzwerks darstellt.

Samba hat zuletzt vor mehr als zehn Jahren für mich zuverlässig funktioniert. Ich habe seitdem versucht, es mit nur zeitweiligem Erfolg ein- und auszuschalten.

Oh, und "Personal File Sharing" aus dem Menü "Einstellungen" führt nicht zu einem Eintrag in "Orte" → "Netzwerk" → "Mein Server". Tatsächlich verschwindet der alte Eintrag "MY-SERVER" und wird durch "koanheads öffentliche Dateien auf meinem Server" ersetzt. Wenn ich versuche, ihn vom Laptop aus zu öffnen, wird "DBus.Error.NoReply: Nachricht nicht empfangen" angezeigt Eine Antwort."

Ich weiß, dass ich hierher komme und viel über Ubuntu meckere, aber andererseits verbringe ich buchstäblich jeden Tag Stunden damit, Dinge in Ubuntu zu reparieren. Es ist ein gutes System, das nach Größe strebt, weshalb solche Dinge auch so sind

  1. Muss arbeiten; oder

  2. Ausreichend dokumentiert sein.

Im Idealfall wäre beides der Fall. Wie auch immer, schimpfen Sie vorbei. Hoffentlich hat jemand einen Einblick in dieses Problem. Vielen Dank an alle, die sich die Mühe gemacht haben, diese Textwand für Ihre Zeit zu lesen.


1
Dies ist wirklich kein guter Weg, um das Problem zu beheben, aber es ist eine Problemumgehung. Solange /etc/samba/smb.conf hat map to guest = bad userim globalen Abschnitt und der Anteil hat guest ok = yesdann , wenn Sie in einem setzen falschen Benutzernamen und Passwort (aber nicht leer, nur in beiden Bereichen setzen Junk), scheinen die Dinge zu arbeiten. Ich weiß, dass es hässlich ist, und ich hoffe, dass jemand eine bessere Antwort hat, damit ich auch mein Setup reparieren kann.
Jeremy

1
Hast du überhaupt darüber nachgedacht, scp zu verwenden? Setzen Sie Winscp auf die Windows-Computer und führen Sie den SSH-Server auf Ihrem Computer aus. Sehr einfach einzurichten und zu verwalten. Windows-Dateifreigabeprotokolle sollten unter allen Umständen vermieden werden. Sie funktionieren nicht einmal zwischen Windows-Computern. Ich habe Samba vor langer Zeit aufgegeben.
Der Unix-Hausmeister

@Jeremy, danke für den Vorschlag, ich werde es in den nächsten zwei Tagen versuchen und die Ergebnisse hier veröffentlichen. @ user5883, ja, ich benutze routinemäßig sshfs und gelegentlich scp-, aber ich kann Samba nicht aufgeben, da Ubuntu es als "offizielle" Filesharing-Methode übernommen hat und ich in der Lage sein muss, anderen dabei zu helfen.
Koanhead

@Jeremy, 'map to guest = bad user' war bereits im globalen Bereich von smb.conf vorhanden. Das Hinzufügen von guest ok = yes hat keine erkennbaren Auswirkungen.
Koanhead

2
Ich habe das Kopfgeld für diese Antwort vergeben, nicht weil Samba jetzt richtig funktioniert, sondern weil ich nicht wollte, dass es abläuft. Filesharing in Ubuntu ist, soweit ich das beurteilen kann, immer noch hoffnungslos kaputt. Seit 2006 hat es bei mir nie mehr funktioniert. Samba hat nur unter Caldera OpenLinux (1999) und Fedora Core 2 zufriedenstellend gearbeitet. In beiden Fällen dauerte das Lernen, Ausprobieren mehrere Tage. Mein Punkt beim Posten dieser Frage war nicht, dass ich Samba brauche, um zu arbeiten, sondern dass Ubuntu es braucht, damit es funktioniert. Dies ist ein Deal-Breaker für Bug # 1 und macht mich nicht in der Lage, Ubuntu zu empfehlen.
Koanhead

Antworten:


7

Ich denke, er hat keine Samba-Benutzer.

sudo smbpasswd -a <username>  
gksu gedit /etc/samba/smbusers  

1
Das hat mich früher umgehauen ... Samba-Benutzer und Systembenutzer nicht zu integrieren, aber es gibt einen Grund.
RobotHumans

Auf der Manpage smbpasswd: "Außerdem ist der Befehl smbpasswd nur nützlich, wenn Samba für die Verwendung verschlüsselter Kennwörter eingerichtet wurde." Ich habe Samba nicht manuell eingerichtet und weiß nicht, ob Ubuntu es standardmäßig so einrichtet. Außerdem enthält die Manpage smbpasswd keinen Hinweis auf smbusers. Es deutet darauf hin, dass der Befehl 'smbpasswd -a' ausreicht, um einen Benutzer hinzuzufügen. Warum existiert dann die smbusers-Datei? Warum sollte dies überhaupt für die Authentifizierung auf Freigabeebene relevant sein? Die Freigaben sollen ohne Passwort global lesbar sein. Warum kann Samba nur von Samba-Experten verwendet werden?
Koanhead

Ich habe einen Benutzer über 'smbpasswd -a' hinzugefügt und smbd ohne erkennbaren unmittelbaren Effekt neu gestartet. Nachdem einige der oben genannten Änderungen an smb.conf vorgenommen und rückgängig gemacht wurden, mit dem damit verbundenen Neustart von smbd, kann der eine Ordner mit dem Namen "freigegeben" vom Laptop aus über das von mir eingerichtete Kennwort aufgerufen werden. Der Zugriff auf Benutzerebene funktioniert jetzt, aber nicht der Zugriff auf Freigabeebene, was ich eigentlich wollte. Der Zugriff auf Benutzerebene ist für mich nicht sehr nützlich, da ich dafür sshfs verwende, aber Ihre Antwort ist die nahezu richtige (die einzige, die eine positive Änderung bewirkt hat), sodass ich Ihnen das Kopfgeld gewähren werde.
Koanhead

Ich schätze den Scheck ... und verstehe die Frustration. Die Verwendung von Benutzern zum Bereitstellen von Berechtigungen auf Freigabeebene war etwas, auf das ich vor langer Zeit gestoßen bin (ich vergesse sogar die Umstände, aber ich fühlte mich sehr ähnlich wie Sie jetzt). Um dieses Problem zu umgehen, haben Benutzer verwendet und ein Laufwerk mit einer Art "Authentifizieren als" -Option in der Laufwerksmontage zugeordnet. Es sind keine echten Berechtigungen auf Freigabeebene, aber es hat mir eine kostenlose Implementierung gebracht, die wie gewünscht funktioniert hat.
RobotHumans

Ich habe das gemacht. Hat nicht geholfen. Übrigens gibt es keine solche Datei gksu gedit / etc / samba / smbusers, also habe ich sie gespeichert, damit sie neu leer ist. Was nützt das? Wie wird diese Antwort akzeptiert? Es funktioniert nicht.
Kangarooo

3

Dies ist keine Antwort, sondern eher ein Kommentar, da ich noch nicht das Privileg habe, Kommentare abzugeben. Ich bin nicht überrascht, dass Ihr Mitbewohner Windows 7 verwendet. Manchmal habe ich Probleme beim Freigeben von Dateien zwischen Windows XP und Windows 7.

Ich habe auf einem Windows XP-Computer mit Ubuntu unter VMware gearbeitet und Dateien durch Freigabe über Samba übertragen. Als ich das gleiche Setup mit Windows 7 versuchte, keine Freude.

Es scheint, dass sich in Windows 7 etwas geändert hat. Wenn Sie also keine Probleme beim Teilen mit Windows XP haben, würde ich nicht genau sagen, dass Samba vor 10 Jahren zuverlässiger war.

Verweisen Sie hier und / oder versuchen Sie, neuere Versionen von Samba zu erhalten

http://wiki.samba.org/index.php/Windows7


1
Vielen Dank für die Antwort, und ich habe vermutet, dass Windows 7 möglicherweise zu dem Problem beiträgt. Ich kann jedoch auch keine Verbindung von einem anderen Computer herstellen, auf dem dasselbe Betriebssystem wie der Server (Ubuntu 10.04) oder die lokale Win2k-VM ausgeführt wird. Leider gibt es keine XP-Maschine in der Nähe, mit der ich dies testen könnte. Mein Punkt in der erweiterten Parole war, dass Samba in Ubuntu einfach funktionieren sollte (tm), da es die "offizielle" Dateifreigabemethode ist. Dinge zu hacken, damit sie funktionieren, ist in Arch oder sogar Fedora in Ordnung, aber nicht in Ubuntu. Übrigens, wenn ich Remote-Dateien verwenden möchte, verwende ich sshfs.
Koanhead

Es kann nicht einmal eine Verbindung zu einem anderen Ubuntu-Computer hergestellt werden? Kann Ihr Ubuntu 10.04 den anderen Computer perfekt sehen? Ich weiß, dass Sie dies wahrscheinlich überprüft haben, aber befinden sich diese Computer in derselben GRUPPE?
Hansioux

Ja, die beiden Ubuntu-Computer werden im Places-> Network des jeweils anderen angezeigt. Tatsächlich können sich alle beteiligten Computer sehen, aber keiner kann auf die von der Ubuntu-Box gehosteten Freigaben zugreifen, und keine der Ubuntu-Boxen kann auf Freigaben zugreifen (ich habe kein Konto auf dem Windows-Computer, daher erwarte ich das nicht um trotzdem zu arbeiten.) Anfangs waren die beiden Ubuntu-Computer Teil einer separaten Arbeitsgruppe, aber ich habe dies so geändert, dass sich alle Computer im lokalen Netzwerk in der 'ARBEITSGRUPPE' befinden.
Koanhead

3

Normalerweise bearbeite ich die conf-Datei. Ich habe dies getan: sudo nano /etc/samba/smb.confund dies am Ende der Datei hinzugefügt.

[Shared]
     comment = My Files
     path = /home/me
     read only = yes
     write list = koanhead
     guest ok = yes

Geben Sie unter "Schreibliste" Ihren Systembenutzernamen an, damit Sie nur Schreibberechtigung haben. Geben Sie auf dem Windows-Computer Folgendes ein: \\ ip-of-the-samba-pc \ shared. Öffnen Sie auf dem Ubuntu-Computer den Dateibrowser und geben Sie diesen in die Adressleiste einsmb://ip-of-the-samba-pc/shared


Vielen Dank für den Vorschlag, ich werde es in den nächsten zwei Tagen versuchen und zurückmelden.
Koanhead

Durch Hinzufügen des zitierten Textes zu /etc/samba/smb.conf werden alle Freigaben aus dem Nautilus-Fenster "Windows-Freigaben auf meinem Server" entfernt.
Koanhead

3

Sie sagen, Sie konnten den Zugriff auf Benutzerebene zum Funktionieren bringen. Das klingt für mich so, als ob nur Ihre Samba-Konfiguration falsch ist. In den alten Tagen hätte ich gesagt, löschen Sie die samba.conf und erstellen Sie eine einfache, die Ihren Anforderungen entspricht. Eine richtige samba.conf muss vielleicht nicht mehr als 10 Zeilen umfassen.

Seitdem ist eine einfachere Lösung entstanden: Installieren Sie system-config-samba

sudo apt-get install system-config-samba

Bevor Sie beginnen, möchten Sie möglicherweise die samba.conf auf den ursprünglichen Zustand zurücksetzen. Um sicherzustellen, dass sich während der gesamten Fehlerbehebung keine "versteckten" Syntaxfehler eingeschlichen haben

Das Bedienfeld ist ganz einfach:

  • Klicken Sie auf das Pluszeichen
  • Verzeichnis auswählen
  • sichtbar machen (und beschreibbar?)
  • Gehen Sie zur Registerkarte "Zugriff"
  • Wählen Sie "Zugriff für alle zulassen".

Eine alternative (und etwas angemessenere) Methode:

  • Erstellen Sie einen * nix-Benutzer mit dem Namen: guest (oder was auch immer Sie möchten).
    • Stellen Sie aus Sicherheitsgründen sicher, dass "Gast" eine /bin/falseAnmeldeshell hat (es sei denn, Sie möchten, dass sich der Gast auch über SSH usw. anmelden kann).
  • Wählen Sie im Menü "Einstellungen" die Option "Samba-Benutzer".
  • Stellen Sie sicher, dass "Gast" auf der Liste steht: Wenn dies nicht der Fall ist.

dann

  • im Menü "Einstellungen": Wählen Sie "Servereinstellungen"
  • Wählen Sie auf der Registerkarte "Sicherheit" unter "Gastkonto" die Option "Gast" aus.

Jetzt wird jeder, der versucht, sich anonym anzumelden, dem Benutzer "Gast" zugewiesen und hat somit alle Rechte, die "Gast" hat.

  • Erstellen Sie nun die Freigabe wie zuvor beschrieben. Wählen Sie statt "Zugriff für alle zulassen" lediglich "Gast" aus.

Stellen Sie sicher, dass der * nix-Benutzer 'guest' über ausreichende Rechte zum Lesen und / oder Schreiben im freigegebenen Ordner verfügt.

Viel Glück!

/ B2S


2

Damit neue Windows-Systeme auf die aktuellen / alten Ubuntu Samba-Freigaben zugreifen können, müssen Sie die Kennwortverschlüsselung aktivieren (Kennwörter verschlüsseln = Ja in der Datei smb.conf).

In Windows 7 hat sich geändert, dass eine Sicherheitsanforderung für die Verschlüsselung von Samba-Kennwörtern festgelegt wurde. Gleiches gilt für XP, wenn Sie KB2536276 installiert haben.

Ich habe mich bei der Arbeit mit diesem Problem in unserem Netzwerk beschäftigt, bis ich die Lösung gefunden habe, bei verschlüsselten Passwörtern das " Nein " in " Ja " zu ändern . Dies funktioniert weiterhin für eine offene Freigabe, auf die jeder Lese- / Schreibzugriff ohne Kennwort hat. Auch wenn Sie kein Kennwort haben, muss Windows dennoch darüber informiert werden, dass das nicht vorhandene Kennwort verschlüsselt ist, damit Windows Sie dort weiterleiten kann.

Bei dieser Antwort wird davon ausgegangen, dass Sie alles andere konfiguriert haben, damit Samba ordnungsgemäß funktioniert, z. B. Benutzer (oder deren Fehlen) und festgelegte Berechtigungen.

Für die offene / easy share ohne Passwörter usw., stellen Sie sicher , Sie haben security = share, guest account = nobodyund / oder map to guest = Bad Userin den conf.


1

Es tut mir leid, das zu sagen, aber ich hatte das gleiche Problem, mein Computer war im LAN nicht erkennbar, danach habe ich das System neu installiert (klare Neuinstallation mit vollständiger Formatierung) und alles hat gut funktioniert.


1

Wenn Sie Windows 7 verwenden, müssen Sie möglicherweise Ihre Registrierungseinstellungen ändern:

Weitere Informationen finden Sie im Samba-Wiki oder führen Sie einfach die Datei Win7_SambaDomainMember.reg aus

Wenn Sie Ubuntu 11.10 verwenden, stellen Sie sicher, dass Sie python-glade2 installiert haben

sudo apt-get install python-glade2

1

Eine einfache Lösung zum [homes]Freigeben Ihres Home-Ordners besteht darin, die Zeilen im Abschnitt /etc/samba/smb.conf zu entfernen (entfernen Sie das ";").


0

Ich glaube, Sie sollten prüfen, ob Sie Firewall- / Iptables-Regeln haben, die dies verhindern. Wenn Sie sich nicht sicher sind, ist es am einfachsten, ufw und zu installieren (und in Zukunft auch iptables zu verwalten)

sudo ufw allow samba
sudo ufw enable

ufw ist bereits so konfiguriert, dass Samba zugelassen wird.
Koanhead
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.