Trick2G
Anmeldungsdatum: 5. Dezember 2023
Beiträge: 12
|
Hallo zusammen,
ich bin aktuell am verzweifeln und hoffe hier kann mir jemand weiterhelfen.
Ich habe einen Ubuntu 20.04 Client mit installierten SMB. Darauf habe ich 2 shares welche bisher von jedem im Netzwerk genutzt werden konnten. Nun ist aber die Anforderung diese shares durch ein Passwort abzusichern. Auf die Shares wird u.a. auch von Windows zugegriffen. Ohne Passwort kein Problem, mit Authentifizierung bekomme ich es nicht hin. Windows ist Domainmitglied, der Ubuntu Client nicht und soll es auch nicht werden. Somit muss der Zugriff über einen lokalen User realisiert werden.
In der smb.conf habe ich die Shares folgendermaßen konfiguriert:
[gpufiles]
comment = Share for GPU PC
path = /media/GPU
public = yes
valid users = smbuser
writeable = yes
guest ok = no
[4TB]
comment = Share for GPU PC (2. SSD)
path = /mnt/Windows
public = no
writeable = yes
valid users = smbuser
guest ok = no
Den smbuser habe ich angelegt und per smbpasswd ein Passwort für SMB verpasst. Wenn ich nun aber vom Windows Client über den Explorer \\Server zugreife, sehe ich zwar die shares, beim Zugriff auf diese werden die Credentials jedoch nicht akzeptiert. Einzuloggen versuche ich mich mit Servername\smbuser und dem SMB-Passwort. Wo liegt hier mein Fehler? Ich bin über jede Hilfe dankbar, da ich leider nur sehr begrenzte Kenntnisse im Linux Umfeld besitze. Viele Grüße
|
weholei
Anmeldungsdatum: 7. Februar 2019
Beiträge: 734
Wohnort: Mittelfranken
|
Ich habe einen Ubuntu 20.04 Client mit installierten SMB
Ich gehe mal davon aus, du hast auf einen Linux Desktop Rechner einen Samba Server installiert hast. So etwas betreibe ich auch, ich bin allerdings kein Experte. Bei mir ist der Windows Benutzer gleich dem Samba Benutzer und das Windows Passwort das Samba Passwort. Bei Dir auch? Mit welchen Windows Versionen greift du auf die Shares zu?
path = /media/GPU
Ĺaufwerke unter Media werden von Linux meist automatisch von Ubuntu eingebunden, meist beim Anstecken einer usb-Platte. Besitzt der Samba user auch die nötigen Rechte dazu? Ich würde es mal mit einer minimalen Konfiguration versuchen. Bei mir ist media so freigegeben [media]
writeable = yes
path = /media/xxxxxxx
Windows ist Domainmitglied, der Ubuntu Client nicht und soll es auch nicht werden.
Das kann ich nicht nachvollziehen, ich habe eine Arbeitsgruppe definiert, in der die Windows Rechner und der Linux Rechner sind
|
Trick2G
(Themenstarter)
Anmeldungsdatum: 5. Dezember 2023
Beiträge: 12
|
Ich gehe mal davon aus, du hast auf einen Linux Desktop Rechner einen Samba Server installiert hast.
Genau
Bei mir ist der Windows Benutzer gleich dem Samba Benutzer und das Windows Passwort das Samba Passwort.
Ja
Mit welchen Windows Versionen greift du auf die Shares zu?
Windows 10 LTSC Besitzt der Samba user auch die nötigen Rechte dazu?
Würde ich behaupten. Hast du irgendwie dieses Usermapping gemacht, oder einfach nur gleicher Username?
Bist du mit dem Benutzer angemeldet? Oder mit einem anderen, und du gibst beim Zugriff die Credentials ein? Das kann ich nicht nachvollziehen, ich habe eine Arbeitsgruppe definiert, in der die Windows Rechner und der Linux Rechner sind
Wir haben eigentlich ein Windows only Netzwerk bis auf paar Ausnahmen. Dieser Ubuntu Client ist mehr oder weniger ein Entwickler PC, welcher nicht in die Domain soll.
|
kB
Supporter, Wikiteam
Anmeldungsdatum: 4. Oktober 2007
Beiträge: 8963
Wohnort: Münster
|
Trick2G schrieb: […] Wenn ich nun aber vom Windows Client über den Explorer \\Server zugreife, sehe ich zwar die shares, beim Zugriff auf diese werden die Credentials jedoch nicht akzeptiert. Einzuloggen versuche ich mich mit Servername\smbuser und dem SMB-Passwort.
Funktioniert es denn von einem Linux-Rechner als Client?
|
Trick2G
(Themenstarter)
Anmeldungsdatum: 5. Dezember 2023
Beiträge: 12
|
kB schrieb: Trick2G schrieb: […] Wenn ich nun aber vom Windows Client über den Explorer \\Server zugreife, sehe ich zwar die shares, beim Zugriff auf diese werden die Credentials jedoch nicht akzeptiert. Einzuloggen versuche ich mich mit Servername\smbuser und dem SMB-Passwort.
Funktioniert es denn von einem Linux-Rechner als Client?
Leider nicht... Gebe mein Passwort ein, klicke auf "Verbinden" und das Fenster taucht sofort wieder auf. Irgendeine Fehlkonfiguration muss ich noch drin haben. Im Anhang mal ein Screenshot von meinem Zugriffsversuch aus einem Linux raus. Was ich gemacht hab: sudo useradd smbuser
sudo smbpasswd -a smbuser --> PW gesetzt
sudo chmod 777 /mnt/Windows --> jeder darf auf das share schreiben, damit sollte auch smbuser Schreibrechte darauf haben. Die Shares habe ich wie vorgeschlagen auf eine Minimalkonfiguration konfiguriert. Sprich nur die Argumente Path und writeable.
- Bilder
|
chr123
Anmeldungsdatum: 19. Juli 2018
Beiträge: 1632
|
Hallo! Kannst du bitte mal die Ausgabe von smbclient und getfacl zeigen? smbclient -U smbuser //172.a.b.c/gpufiles
getfacl /media/GPU
getfacl /media Korrekte IP verwenden.
|
Trick2G
(Themenstarter)
Anmeldungsdatum: 5. Dezember 2023
Beiträge: 12
|
getfacl –> Bin jetzt davon ausgegangen, das auf dem Client auszuführen, wo der SMB Server läuft
root@gpu:/etc/samba# getfacl /media/GPU
getfacl: Removing leading '/' from absolute path names
# file: media/GPU
# owner: root
# group: root
user::rwx
group::rwx
other::rwx
root@gpu:/etc/samba# getfacl /media
getfacl: Removing leading '/' from absolute path names
# file: media
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
smbclient –> Habe ich von einem anderen Linux System ausgeführt, siehe Anhang Muss es den User beim Zugriff Linux > SMB im zugreifenden System auch lokal geben? Das ist dort nämlich nicht der Fall.
- Bilder
|
hakel2022
Anmeldungsdatum: 21. Februar 2022
Beiträge: 2592
|
https://wiki.ubuntuusers.de/Samba_Server/
Benutzer, die zur Datenbank von Samba hinzugefügt werden, müssen schon auf dem System als "normale" Benutzer vorhanden sein
Waurm gehst du nicht einfach stur nach Anleitung vor?
|
Trick2G
(Themenstarter)
Anmeldungsdatum: 5. Dezember 2023
Beiträge: 12
|
hakel2022 schrieb: https://wiki.ubuntuusers.de/Samba_Server/
Benutzer, die zur Datenbank von Samba hinzugefügt werden, müssen schon auf dem System als "normale" Benutzer vorhanden sein
Das ist doch der Fall? Warum gehst du nicht einfach stur nach Anleitung vor?
Habe ich damals gemacht, nur dass ich da keine Authentifizierung brauchte. Und nun muss das umgestellt werden.
|
chr123
Anmeldungsdatum: 19. Juli 2018
Beiträge: 1632
|
Hallo! Trick2G schrieb: getfacl –> Bin jetzt davon ausgegangen, das auf dem Client auszuführen, wo der SMB Server läuft
Die Rechte sind soweit ok. smbclient –> Habe ich von einem anderen Linux System ausgeführt, siehe Anhang
Die Ausführung auf einem anderen System ist auch ok.
Muss es den User beim Zugriff Linux > SMB im zugreifenden System auch lokal geben? Das ist dort nämlich nicht der Fall.
Ok, hier kommen wir dem Problem wohl näher. Der Zugriff mit smbclient wird abgelehnt (Access Denied). Um Missverständnisse zu vermeiden: Auf dem Server, der die Freigabe bereitstellen soll, hast du sowohl einen lokalen Benutzer angelegt (sudo useradd smbuser ) und einen Samba Benutzer (sudo smbpasswd -a smbuser ) angelegt, ja?
|
weholei
Anmeldungsdatum: 7. Februar 2019
Beiträge: 734
Wohnort: Mittelfranken
|
Hallo Ich habe uere Diskussion mit Interesse verfolgt und mir einmal erlaubt, die Tests, die chris vorschlägt, nachzuvollziehen, da ich sie auch noch nicht kenne und oft mit samba probleme habe. Man darf davon ausgehen, wenn user und Passwort ok sind, erscheint ein smb: \ Prompt testuser@raspi-u4:~ $ smbclient -U testuser //192.168.2.35/austausch
Password for [xxxxxxx\testuser]:
Try "help" to get a list of possible commands.
smb: \> ^C
dann habe ich das passwort geändert testuser@raspi-u4:~ $ smbclient -U testusser //192.168.2.35/austausch
Password for ["meine arbeitsgruppe"\testuser]:
tree connect failed: NT_STATUS_ACCESS_DENIED
Ich kann bei mir keinen Saba Benutzer anlegen, der nicht schon ein unix Benutzer ist
|
Newubunti
Anmeldungsdatum: 16. Februar 2008
Beiträge: 5139
|
Hallo, Poste mal die Ausgabe von Schmeiß mal aus den Share-Definitionen guest ok und public raus!: Steht beides für das gleiche. Ist guest ok = no Standard und daher überflüssig. Bei Deiner einen Freigabe widersprechen sich die Angaben zudem auch noch.
Auf dem Server - also dem Ubuntu-Rechner auf dem Du Samba installiert hast und die Shares liegen - muss der Nutzer mit dem Du von anderen Rechnern aus zugreifen willst, sowohl als Linux-Nutzer, als auch als Sambanutzer angelegt sein. Auf den Rechnern, von denen Du aus zugreifst, muss dieser Nutzer nicht angelegt sein. Deine Rechte sind für Dein Vorhaben, den Zugriff mit Passwort schützen zu wollen murks. Pack Deinen Nutzer der von außen zugreifen soll z.B. in die bei der Samba-Installation angelegte Gruppe sambashare - es geht aber im Prinzip auch jede andere beliebige Gruppe. Dann vergibst Du die Rechte auf dem Ubuntu-Rechner mit den Freigaben wie folgt: sudo chgrp -R sambashare /media/GPU
sudo chgrp -R sambashare /mnt/Windows
sudo chmod 2770 sambashare /media/GPU
sudo chmod 2770 sambashare /mnt/Windows In Deiner smb.conf änderst Du valid users entsprechend: ...
valid users = @sambashare
...
Durch Hinzufügen bzw. Entfernen zur Gruppe sambashare kann dann gesteuert werden, wer auf die Freigabe zugreifen kann und wer nicht. LG,
Newubunti
|
weholei
Anmeldungsdatum: 7. Februar 2019
Beiträge: 734
Wohnort: Mittelfranken
|
Nachtrag @ Trick2go entschuldige, die Fragen habe ich überlesen:
Hast du irgendwie dieses Usermapping gemacht, ? Bist du mit dem Benutzer angemeldet? Oder mit einem anderen,
habe ich nicht, war mir zu kompliziert
oder einfach nur gleicher Username
ja
Oder mit einem anderen
habe ich aus Bequemlichlkeit nicht gemacht, würde aber auch gehen, da imho Windows anbietet, sich mit anderem Namen mit Netzlaufwerk zu verbinden
und du gibst beim Zugriff die Credentials ein?
Mache ich nicht, denn da habe ich mich beim mounten von Samba Laufwerklen an Linux Rechner hoffnungslos verfranzt Nur Login Namen und Passwort
|
Trick2G
(Themenstarter)
Anmeldungsdatum: 5. Dezember 2023
Beiträge: 12
|
@chr123 Um Missverständnisse zu vermeiden: Auf dem Server, der die Freigabe bereitstellen soll, hast du sowohl einen lokalen Benutzer angelegt (sudo useradd smbuser) und einen Samba Benutzer (sudo smbpasswd -a smbuser) angelegt, ja?
Ja genau ☺ @Newubunti Poste mal die Ausgabe von testparm -s
root@gpu:/etc/samba# testparm -s
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed
Server role: ROLE_STANDALONE
# Global parameters
[global]
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 role = standalone server
server string = %h server (Samba, Ubuntu)
unix password sync = Yes
username map = /etc/samba/usermap.txt
usershare allow guests = Yes
idmap config * : backend = tdb
[printers]
browseable = No
comment = All Printers
create mask = 0700
path = /var/spool/samba
printable = Yes
[gpufiles]
comment = Share for GPU PC
path = /media/GPU
read only = No
valid users = @sambashare
[4TB]
comment = Share for GPU PC (2. SSD)
path = /mnt/Windows
read only = No
valid users = @sambashare
[print$]
comment = Printer Drivers
create mask = 0664
directory mask = 0775
force create mode = 0664
force directory mode = 0775
force user = felix
guest ok = Yes
path = /home/dev/share
read only = No
Auf dem Server - also dem Ubuntu-Rechner auf dem Du Samba installiert hast und die Shares liegen - muss der Nutzer mit dem Du von anderen Rechnern aus zugreifen willst, sowohl als Linux-Nutzer, als auch als Sambanutzer angelegt sein. Auf den Rechnern, von denen Du aus zugreifst, muss dieser Nutzer nicht angelegt sein.
Das ist der Fall Die Rechte und Gruppen habe ich wie von Dir vorgeschlagen geändert.
|
Newubunti
Anmeldungsdatum: 16. Februar 2008
Beiträge: 5139
|
Nach den Änderungen hast Du den Ubuntu-Rechner neu gestartet bzw. ein sudo smbcontrol all reload-config ausgeführt? Kommentiere in der [Global] -Sektion mal die Zeile username map = /etc/samba/usermap.txt aus. Anschließend wieder ein sudo smbcontrol all reload-config . Und bitte für das erste Testen smbclient im Terminal des Linux-Client-Rechners ausführen und nicht irgendwie grafisch. Also wie schon weiter oben von chr123 geschrieben: smbclient -U smbuser //172.21.b.c/gpufiles Und dann die Rückgabe davon hier posten. Wenn es dabei nach wie vor Fehlermeldungen gibt, dann bitte auch - vom Ubuntu-Recher auf dem der Samba Server läuft - die Ausgabe von
cat /etc/group | grep "sambashare" und hier posten. LG,
Newubunti
|