Einfache Samba-Freigabe - KEIN PASSWORT

16

Was ich brauche:

Einfache Samba-Konfiguration für Dateiserver ohne Passwort und mit vollem Lese- und Schreibzugriff für alle. Keine Sicherheit benötigt.

Geschichte:

Ich mache einen Server zum Hosten von Dateien für mein Zuhause. Das Ziel des Servers ist das Hosten von Dateien für Windows-Computer. Das Beste, was ich bisher geschafft habe, ist diese Konfiguration. Damit kann ich die Freigaben und den Server vom Netzwerk aus sehen, aber es heißt, dass Windows nicht auf sie zugreifen kann. Ich benutze Linux Mate auf dem Server, die neuesten Updates.

Meine Konfig:

[global]

   workgroup = BIOHAZARD
   netbios name = MATUSALEM
   guest account = nobody
   log file = /usr/local/samba/var/log.%m
   max log size = 50
   security = user
   map to guest = bad user
   encrypt passwords = yes

# Share Definitions 
[homes]
   comment = Home Directories
   browseable = no
   writable = yes

[Teste]
    path = /home/peter/share
    writable = yes
    printable = no
    comment = teste
    only guest = yes
    public = yes
        guest ok = yes
        guest only = yes
        guest account = nobody
        browsable = yes
[REDE]
    comment = TESTE 2
    public = yes
    delete readonly = yes
    path = /HOME/REDE
    writeable = yes
        guest ok = yes
        guest only = yes
        guest account = nobody
        browsable = yes
######

Irgendwelche Ideen?

Peter Reynold Robinson Junior
quelle
Möglicherweise im Zusammenhang mit serverfault.com/questions/630631/… und askubuntu.com/questions/258284/…
Nick Weinberg

Antworten:

22

Ja, Samba kann ein Schmerz sein. Ich benutze es sowohl für mein Zuhause als auch für die Arbeit.

Das erste, was Sie tun sollten, ist, von vorne zu beginnen, um die Fehlerbehebung zu vereinfachen. Sie können dies tun, indem Sie den folgenden Befehl im Terminal ausführen.

dpkg-reconfigure samba-common

Wechseln Sie dann zu dem Ordner auf dem Samba-Server, den Sie freigeben möchten, und stellen Sie sicher, dass der Benutzer keine Lese- und Schreibrechte für die Freigabe hat. Dies liegt daran, dass der Benutzer nobody der Benutzername ist, den Windows-Clients verwenden. Normalerweise erstelle ich nur einen Ordner im Verzeichnis /, um die Dinge einfach zu halten, aber der "richtige" Weg wäre, einen Unterordner von / srv zu erstellen. Wenn Sie die Berechtigungen noch nicht geändert haben, verwenden Sie die folgenden Befehle.

sudo chown -R nobody.nogroup the_folder
sudo chmod -R 777 the_folder

Sie können auch testen, ob niemand in das Verzeichnis schreiben kann, indem Sie den folgenden Befehl als root ausführen.

sudo -u nobody touch test_file

Bearbeiten Sie Ihre Datei /etc/samba/smb.conf und fügen Sie die Zeilen unter der [Drucker] -Freigabedefinition hinzu.

[share_name]              ;the share name can be what ever you want
browseable = yes
path = the_complete_path_to_the_shared_folder
guest ok = yes
read only = no
create mask = 777

Wenn Sie fertig sind, speichern Sie es und führen Sie Folgendes aus.

testparm

Dies warnt Sie, wenn Sie Tippfehler gemacht haben. Als nächstes müssen Sie nur die Samba-Dienste neu starten.

sudo systemctl restart smbd
sudo systemctl restart nmbd
Andrew
quelle
Das hat perfekt funktioniert! Zum späteren Nachschlagen kopiert. das problem war die chmod sache! vielen Dank.
Peter Reynold Robinson Junior
1
Gute Arbeit, es herauszufinden, die meisten hätten einfach aufgegeben. Denken Sie daran, dass bei der Dateifreigabe unter jedem Betriebssystem häufig Berechtigungen von Bedeutung sind.
Andrew
1
Groß. Dies funktioniert für mich, ich habe nur ein Problem, wenn Sie versuchen, Samba neu zu installieren, aber das Problem war, weil auch erforderlich ist, sudo apt-get autoremoveund dann sudo apt-get purge samba*
iLevi
Dies führte zu einem Fehler beim Starten von nmdb nach Abschluss der Samba-Installation, wobei log.nmdb "Fehler beim Öffnen der Konfigurationsdatei" und überhaupt kein / etc / samba-Ordner vorhanden war. Ein erneuter Versuch, das Bereinigen und Entfernen sowie die Neuinstallation durchzuführen, führte immer wieder zu denselben Ergebnissen.
Frank H.
Dies ist der EINZIGE Arbeitsansatz im gesamten Internet! Sie retten meinen Tag, danke.
Evi Song
0

Ich erkenne, dass dies ein alter Thread ist, aber es hat mir geholfen, das Problem des Erstellens und Freigebens eines Ordners ohne Anmeldung zu lösen. Viele andere Themen da draußen, aber sie sind irreführend. Ich habe unten einen Leitfaden für Semi-Biginner gegeben, da es nur so viele kleine Unterschiede zu anderen Posts gibt, dass ich dachte, es könnte jemand anderem helfen, der beinahe aufgegeben und sich die Hälfte seiner Haare ausgerissen hat :-)

Für mich musste ich auf einem Standard-AWS-Linux-Image (Amazon Linux AMI 2017.03.0 (HVM)) den Ordner im Stammverzeichnis / erstellen, da ich die Berechtigungen nicht zuweisen konnte, wenn sie unter dem Standard-ec2-Benutzer erstellt wurden. Bei der Vergabe der Berechtigungen musste ich nobody.nobody verwenden, da nogroup nicht funktionierte. Zu guter Letzt musste ich map to guest = Bad User in den gloabl Standalone Server-Bereich aufnehmen, wo standardmäßig security = user steht

Die vollständigen Schritte wären also die Bereitstellung eines neuen Servers:

Installieren Sie Samba, falls erforderlich

Erstellen Sie den Ordner, und weisen Sie Berechtigungen zu

sudo su
cd /
mkdir the_folder
chown -R nobody.nobody the_folder
chmod -R 777 the_folder

Bearbeiten Sie die Samba-Datei

nano /etc/samba/smb.conf

Finde die Zeile # ---- Standalone Server Options ---- füge "map to guest" hinzu

security = user
passdb backend = tdbsam
map to guest = Bad User

Fügen Sie unter dem Abschnitt # ==== Freigabedefinitionen ==== Ihre Freigabe hinzu

[SHARENAME]
path = the_folder
read only = no
create mask = 777
guest ok = yes

Speichern Sie die Datei und starten Sie samaba neu

/etc/init.d/smb restart
David
quelle
0

Zusätzlich zu @Andrew answer verursacht das kürzlich durchgeführte Upgrade von Ubuntu 17.04 auf 17.10 Probleme mit dem systemctl samba-dc-ad.service . Angeblich ist es kein Fehler in der Maske, wenn Sie versuchen, Samba auf dem Dienst samba-dc-ad.service (intensional) neu zu installieren. Schritte zusätzlich vor der Antwort von @ Andrew , wenn Sie Probleme mit der Installation / Neuinstallation von Samba aufgrund des Upgrades haben:

  1. apt-get update & apt-get-upgrade <- stellen Sie sicher, dass keine Upgrades ausstehen
  2. Apt-Get installieren Samba
  3. Gehen Sie zu dieser Seite und führen Sie die folgenden Anweisungen aus: https://wiki.samba.org/index.php/Managing_the_Samba_AD_DC_Service_Using_Systemd

  4. apt-get -f installiere Samba

  5. Führen Sie jetzt die obigen Schritte aus. :-)
BlizzardsGambit
quelle