
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 = gorfanidis
den 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.