Ich sollte also zunächst sagen, dass ich dies vor weniger als einer Woche erfolgreich gemacht habe und keine Probleme hatte, aber seitdem habe ich meinen Server neu formatiert und neu konfiguriert, und jetzt fällt es mir am schwersten, mich daran zu erinnern, wie ich es gemacht habe.
Hier ist, was ich vorher hatte und was ich wieder zu erreichen versuche. Ich hatte eine öffentliche Samba-Freigabe auf dem Ubuntu-Server. Jeder in meinem Netzwerk kann auf die Freigabe und deren Inhalt zugreifen, indem Sie einfach \ Hostname eingeben. Kein Passwort erforderlich. Benutzer, die sich nicht in der Arbeitsgruppe der Freigabe befanden, hatten Lesezugriff, Benutzer, die sich in der Arbeitsgruppe befanden, hatten Lese- / Schreibzugriff. (Windows 7)
Wenn ich jetzt versuche, eine Verbindung zu \ Hostname herzustellen, werde ich zur Eingabe eines Benutzernamens und eines Kennworts aufgefordert. Wenn ich das un pw betrete, bekomme ich vollen Zugriff, sollte es aber nicht müssen; Meine aktuellen Einstellungen sind ...
security = user
map to guest = bad user
[Shares]
path = /home/shares
available = yes
read only = no
browsable = yes
public = yes
writable = yes
guest ok = yes
Ich ziehe mir die Haare aus. Irgendwelche Vorschläge?
BEARBEITEN:
Ugh, das macht es mir so schwer. Ich bin so nah.
Folgendes habe ich.
Ich kann von Windows 7 aus auf die Freigabe zugreifen, indem ich \ Hostname \ Sharename starte und eingebe, aber ich werde aufgefordert, einen Benutzernamen und ein Kennwort einzugeben. Ich kann es jedoch nicht einfach leer lassen, da meine Arbeitsgruppe als Domäne verwendet wird. Also gebe ich \ für den Benutzernamen ein, um ihn zu löschen und mich mit einem leeren Benutzernamen und Passwort anzumelden. Großartig, jetzt kann ich auf die Dateien in der Freigabe zugreifen.
Sobald ich in bin, funktioniert die Arbeitsgruppenkonfiguration ordnungsgemäß. Wenn ich mich auf einem Computer mit der Standard-ARBEITSGRUPPE befinde, kann ich lesen und ausführen. Ein Computer in meiner Home-Arbeitsgruppe kann lesen, schreiben und ausführen. Das funktioniert also.
Das Problem ist, es sollte überhaupt nicht nach einem Passwort gefragt werden. Es sollte für jeden im Netzwerk vollständig öffentlich sein. Ich versuche es mit XBMC zu teilen und es wird nicht einmal unter jdb im Dateimanager angezeigt. Ich kann auch nicht manuell von XBMC darauf zugreifen. Ich erhalte einen Verbindungsfehler.
Ich ziehe immer noch Haare darüber heraus. Das Schlimmste ist, dass ich das vor ungefähr einer Woche zum ersten Mal gemacht habe. Ich habe ungefähr 30 Minuten damit verbracht und es hat perfekt funktioniert. Jetzt habe ich wahrscheinlich mindestens 4 Stunden verbracht und es funktioniert immer noch nicht.
Testparm:
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Shares]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
[global]
workgroup = FELLOWSHIP
server string = %h server (Samba, Ubuntu)
map to guest = Bad User
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
dns proxy = No
wins support = Yes
usershare allow guests = Yes
panic action = /usr/share/samba/panic-action %d
idmap config * : backend = tdb
[printers]
comment = All Printers
path = /var/spool/samba
create mask = 0700
printable = Yes
print ok = Yes
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
[Shares]
path = /home/shares
read only = No
guest ok = Yes
UPDATE: Die Freigabe ist jetzt unabhängig von der Arbeitsgruppe in meinem Netzwerk verfügbar. Jeder Windows-Benutzer, der eine Verbindung zu meinem Netzwerk herstellt, kann den NAS unter Netowork anzeigen und darauf zugreifen. Der Schlüssel war, Sicherheit auf Sicherheit = Freigabe zu setzen. Ich weiß, es ist veraltet, aber es funktioniert und Sicherheit = Benutzer und Zuordnung zu Benutzer = schlechter Benutzer hat bei mir nicht funktioniert.
Wie auch immer, jetzt scheint es, dass jeder, der eine Verbindung zur Freigabe herstellt, die globalen Unix-Berechtigungen für das Verzeichnis erhält, was verwaltbar ist. Ich möchte jedoch, dass Benutzer, die der in smb.conf angegebenen Arbeitsgruppe beitreten, Unix-Gruppenberechtigungen erhalten.
Auf diese Weise kann ich das Verzeichnis auf 775 setzen und schreiben, da ich der Arbeitsgruppe beigetreten bin, andere Benutzer jedoch nur lesen und ausführen können.
Antworten:
Ist zufällig über diesen Thread in den Ubuntu-Foren gestolpert und dachte, es könnte helfen. Es erklärt die Schritte, die hinter den Kulissen passieren:
Versuchen Sie
force user = nobody
, Ihre Freigabedefinition zu erweitern, und prüfen Sie, ob dies der Fall ist.Bearbeiten 20.02.2013:
Gibt
testparm
ein Exit-Code etwas anderes als Null zurück? Trotzdem würde ich weitermachen und diesem Bereich der Konfiguration einen guten, harten Blick geben. Ich bin mir auch nicht sicher, wie stark zwischen Groß- und Kleinschreibung unterschieden wird, aber bei jedem Beispiel, das ich (zum Beispiel) sehe, werdenmap to guest = Bad User
B und U großgeschrieben. Überprüfen Sie die Samba-Manpages auf die von Ihnen verwendeten Optionen und überprüfen Sie alles.quelle
[Shares] path = /home/shares browsable = yes available = yes read only = no public = yes writable = yes guest ok = yes
Wenn ich sie hinzufüge, wirdforce user = nobody
sie unterbrochen und ich kann überhaupt nicht auf die Freigabe zugreifen. Hier wird es allerdings komisch; Wenn ich testparm ausführe, wird es ausgegeben. Aus[Shares] path = /home/shares read only = no guest ok = yes
irgendeinem Grund sieht es so aus, als würde es keine öffentlichen, beschreibbaren, verfügbaren und durchsuchbaren Definitionen sehen. Könnte dies ein Indikator dafür sein, wo das Problem liegt.4.3.11+dfsg-0ubuntu0.14.04.3
auf Ubuntu 14.04 hat meinen öffentlichen Anteil gebrochen. Diesforce user = nobody
ist genau das Richtige, um den öffentlichen Anteil zurückzubringenSo wird OpenElec konfiguriert. Sollte tun, was Sie verlangen. (Auch wenn es ein Jahr später ist ... vielleicht hilft es dem nächsten) Passen Sie einfach die Freigabeeinstellungen nach Bedarf an.
quelle
Da die Google-Suche uns hierher bringt und es keine klare Antwort gibt, habe ich es zusammengefasst.
Nachfolgend sind die Bedingungen aufgeführt, die erforderlich sind, um sicherzustellen, dass SMB-Clients beim Zugriff auf Ihren Samba-Server nicht zur Eingabe des Benutzernamens und des Kennworts aufgefordert werden:
Fügen Sie
guest account = <owner-of-your-shares>
unter einem[global]
Abschnitt hinzu. Es ist wichtig, dass das Eigentümerkonto Ihrer Aktien Zugriff darauf hat. Wenn Sie dies nicht tun, geht Samba davon aus, dass das Gastkonto einnobody
Benutzer ist, der wahrscheinlich keinen Zugriff auf die Daten in Ihrer Freigabe hat.Alternativ können Sie
force user = <owner-of-your-share>
unter Ihrem[shareXYZ]
Block angeben .Stellen Sie sicher, dass Ihre
[shareXYZ]
hatguest ok = yes
.Set,
browsable = yes
aber es wird normalerweise von der geerbt[global]
und istyes
standardmäßig auf gesetzt.Dann sollte wahrscheinlich
security = user
auch festgelegt werden (dies ist die Standardeinstellung, wenn in Ihrer Umgebung kein Active Directory festgelegt ist). Ich bin mir jedoch nicht sicher, ob dieses Flag erforderlich ist, da ich keine AD in meiner Umgebung habe.Wenn Sie möchten, dass der
nobody
Benutzer arbeitet, können Sie dies natürlich auch tun. Danach könnenchown -Rh 65534:65534 /yourshare
Sie nur noch die einzelne Einstellungguest ok = yes
unter Ihrer verwenden[shareXYZ]
.Beachten Sie, dass durch Setzen
rwx
aufothers
(chmod o+rwx /yourshare
) Samba mit seinemnobody
Benutzer nicht in die Freigabe gelassen wurde . Ich habe das mit überprüftstrace -f -e chdir,geteuid,getegid -p <pid-of-the-parent-smbd-process>
. Wahrscheinlich ignoriert Samba nur die Berechtigungen, die für dasothers
? Nicht sicher.quelle
Es funktioniert bei mir in 30 Sekunden
Quelle: https://wiki.samba.org/index.php/Setting_up_Samba_as_a_Standalone_Server
[global]
[Gast]
quelle