Samba zwischen 2 Ubuntu-Systemen ist nur unidirektional

Samba zwischen 2 Ubuntu-Systemen ist nur unidirektional

Ich habe ein Problem mit meiner Samba-Konfiguration.

Ich habe ein Ubuntu-System, nennen wir es A, das bis vor kurzem Ubuntu 16.04 hatte und jetzt Ubuntu 20.04 hat. Dieser A-Computer war über Samba (unter anderem) mit einem zweiten, nennen wir ihn B, mit Ubuntu 18.04 verbunden, um Dateien zwischen diesen Systemen zu kopieren.

Ich hatte mehrere Ordner in jedem System und alles funktionierte gut, während in 16.04

Nach der Formatierung und der Umstellung auf Ubuntu 20.04 ist die Verbindung jetzt nur noch einseitig. Genauer gesagt kann B keinen Ordner in A mehr sehen. Die Ordner werden jedoch in Dateien als freigegeben angezeigt. Wenn ich hingegen von A aus auf die freigegebenen Ordner in B zugreife, funktioniert alles einwandfrei. Ich habe einige Lösungen ausprobiert, aber nichts scheint mein Problem zu lösen (offensichtlich übersehe ich hier etwas).

In meiner Samba-Konfigurationsdatei ( /etc/samba/smb.cfg) habe ich beispielsweise in beiden Systemen Folgendes in meinem Abschnitt [global]

   workgroup = WORKGROUP
   client min protocol = NT1
   server min protocol = NT1

Dies war die bei einer Frage vorgeschlagene Lösung. Sie hat mir geholfen, beim Zugriff auf meinen freigegebenen Ordner von B aus keinen tatsächlichen Fehler zu erhalten, aber es wird tatsächlich kein freigegebener Ordner angezeigt (es gibt nur einen leeren Ordner).

Mein letzter Versuch war die Verwendung der Anweisungen aus diesemWebsite:

wo ein anonymer Anteil (theoretisch) geteilt wurde, indem Folgendes hinzugefügt wurde:

[Anonymous]

path = /samba/anonymous
browsable = yes
writable = yes
read only = no
force user = nobody

Nur #======================= Share Definitions =======================im A-System.

Dadurch wurde ein Ordner mit dem Namen erstellt Anonymous, wenn er von B in freigegebenen Ordnern angezeigt wird, aber ich kann nicht wirklich darauf zugreifen. Es ist ein Passwort erforderlich, aber es wird keins akzeptiert. Weder Samba noch das Benutzerpasswort. Jedenfalls verweist es auf einen nicht vorhandenen Ordner in meinem System (ich habe es mit einem vorhandenen versucht, nichts ändert sich), aber es scheint nicht so praktisch, wenn ich dies für jeden freigegebenen Ordner anwenden muss.

Hat also jemand eine Idee, wie man einen Ordner zwischen zwei Ubuntu-Systemen richtig freigibt? Soweit ich weiß, sind Samba und der Samba-Client auf beiden Systemen installiert.

Bearbeiten (nach einer Kommentaranfrage von @Morbious1):

$testparm -s

Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE

# Global parameters
[global]
    client min protocol = NT1
    log file = /var/log/samba/log.%m
    logging = file
    map to guest = Bad User
    max log size = 1000
    obey pam restrictions = Yes
    pam password change = Yes
    panic action = /usr/share/samba/panic-action %d
    passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
    passwd program = /usr/bin/passwd %u
    server min protocol = NT1
    server role = standalone server
    server string = %h server (Samba, Ubuntu)
    unix password sync = Yes
    usershare allow guests = Yes
    usershare owner only = No
    idmap config * : backend = tdb


[Anonymous]
    force user = nobody
    path = /home/gorfanidis/share_testing
    read only = No


[printers]
    browseable = No
    comment = All Printers
    create mask = 0700
    path = /var/spool/samba
    printable = Yes


[print$]
    comment = Printer Drivers
    path = /var/lib/samba/printers

Und

$net usershare info --long

[python_projects]
path=/home/xxxx/python_projects
comment=
usershare_acl=Everyone:F,
guest_ok=y

[misc_cerberus]
path=/home/xxxx/misc
comment=
usershare_acl=Everyone:F,
guest_ok=y

[EfficientDet]
path=/home/xxxx/python_projects/EfficientDet
comment=
usershare_acl=Everyone:F,
guest_ok=n

[surveillance object detection]
path=/home/xxxx/Datasets/surveillance object detection
comment=
usershare_acl=Everyone:F,
guest_ok=n

Antwort1

In der Anleitung, der Sie gefolgt sind, steht, dass diese Freigabedefinition Gastzugriff ermöglicht:

[Anonymous]
    force user = nobody
    path = /home/gorfanidis/share_testing
    read only = No

Es bewirkt das Gegenteil.

Um den Gastzugriff zu ermöglichen und sicherzustellen, dass es keine Probleme mit den Linux-Berechtigungen gibt, würde ich die folgenden Änderungen vorschlagen:

[Anonymous]
    force user = gorfanidis
    path = /home/gorfanidis/share_testing
    read only = No
    guest ok = yes

ok, das scheint zu funktionieren. Aber es ist ein Schritt zurück, wenn man es nicht automatisch aus Dateien (Nautilus) heraus funktionieren lassen will. Gibt es eine Möglichkeit, das zu erreichen?

Wenn es sich um ein Einzelbenutzersystem handelt, können Sie force user = gorfanidisden Abschnitt [global] von smb.conf hinzufügen - direkt unterArbeitsgruppe = ARBEITSGRUPPEist der Ort, an dem ich es platzieren würde. Dann würde es für alle Freigaben gelten, die Sie erstellen, unabhängig davon, wie Sie sie erstellen.

verwandte Informationen