Anmeldung am Linux-Server als AD-Benutzer funktioniert obwohl der Benutzer keine Berechtigung hat
Hallo zusammen
Von meinem Arbeitgeber bekam ich den Auftrag, dass ich einen SLES-Server 11 SP1 in eine AD integrieren soll sprich, dass ich mit einem AD-Benutzer, der sich in einer definierten Gruppe befindet anmelden kann.
Alle anderen Benutzer, die nicht in dieser Gruppe sind, sollten sich nicht anmelden können.
Kurioserweise können sich die anderen Benutzer trotzdem anmelden. Dabei erscheint die Meldung (auch, wenn sich die Benutzer in der richtigen Gruppe befinden):
Meine Frage ist nun, wo könnte der Hund begraben liegen bzw. was kann ich machen, damit sich die Benutzer anmelden können, wie gewünscht?
Vielen Dank
Gruss Gansterjo2
Von meinem Arbeitgeber bekam ich den Auftrag, dass ich einen SLES-Server 11 SP1 in eine AD integrieren soll sprich, dass ich mit einem AD-Benutzer, der sich in einer definierten Gruppe befindet anmelden kann.
Kernel-Version | 2.6.32.59-0.3-default |
Pakete | |
samba-winbind | 3.4.3-1.42.1 |
samba-winbind-32bit | 3.4.3-1.42.1 |
yast2-samba-server | 2.17.11-0.2.72 |
yast2-samba-client | 2.17.18-0.5.5 |
samba | 3.4.3-1.42.1 |
samba-32bit | 3.4.3-1.42.1 |
pam_krb5 | 2.3.1-47.10.15 |
pam_krb5-32bit | 2.3.1-47.10.15 |
krb5 | 1.6.3-133.48.48.1 |
krb5-32bit | 1.6.3-133.48.48.1 |
krb5-client | 1.6.3-133.48.48.1 |
nss_ldap | 262-11.32.31.1 |
libwbclient0-32bit | 343-1.42.1 |
Alle anderen Benutzer, die nicht in dieser Gruppe sind, sollten sich nicht anmelden können.
Kurioserweise können sich die anderen Benutzer trotzdem anmelden. Dabei erscheint die Meldung (auch, wenn sich die Benutzer in der richtigen Gruppe befinden):
Cannot convert group [...] to sid, please contact your administrator to see if group [...] is valid
Meine Frage ist nun, wo könnte der Hund begraben liegen bzw. was kann ich machen, damit sich die Benutzer anmelden können, wie gewünscht?
Vielen Dank
Gruss Gansterjo2
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 242998
Url: https://administrator.de/forum/anmeldung-am-linux-server-als-ad-benutzer-funktioniert-obwohl-der-benutzer-keine-berechtigung-hat-242998.html
Ausgedruckt am: 23.12.2024 um 02:12 Uhr
14 Kommentare
Neuester Kommentar
Moin,
da fehlt noch Information: ist der SLES schon Domänen-Member - also mit dem DC tatsächlich verbunden, daß die Pakete dafür installiert sind, heißt ja nicht, daß es auch so konfiguriert ist, /etc/samba/smb.conf könnte da ein Anhaltspunkt sein.
Weiterhin wäre der Domänen-Level interessant: in einer alten <=2003-Domäne wird meistens nur auf "zufällige" Übereinstimmung von Usernamen (ohne Domäne zu betrachten) und Passwort geprüft (NTLM?) - so kann jemand auf z.B. Laufwerksfreigaben zugreifen, ohne Mitglied zu sein.
HG
Mark
da fehlt noch Information: ist der SLES schon Domänen-Member - also mit dem DC tatsächlich verbunden, daß die Pakete dafür installiert sind, heißt ja nicht, daß es auch so konfiguriert ist, /etc/samba/smb.conf könnte da ein Anhaltspunkt sein.
Weiterhin wäre der Domänen-Level interessant: in einer alten <=2003-Domäne wird meistens nur auf "zufällige" Übereinstimmung von Usernamen (ohne Domäne zu betrachten) und Passwort geprüft (NTLM?) - so kann jemand auf z.B. Laufwerksfreigaben zugreifen, ohne Mitglied zu sein.
HG
Mark
Hallo,
http://dozent.maruweb.de/material/samba.shtml
%S ist die Freigabe
und was soll %w sein?
valid users = @"DOMAIN\Domänen-Admins"
Sowas sollte da stehen.
template shell = /bin/bash
Das ermöglicht nebenbei die lokale Anmeldung am Server auf der Shell/Desktop. (jedem Domänennutzer)
Ansonsten ist bei keiner deiner Freigaben eine Gruppenbeschrenkung.
Geht ein chown root:domänengruppe irgendeine.txt?
Gruß
Chonta
http://dozent.maruweb.de/material/samba.shtml
%S ist die Freigabe
und was soll %w sein?
valid users = @"DOMAIN\Domänen-Admins"
Sowas sollte da stehen.
template shell = /bin/bash
Das ermöglicht nebenbei die lokale Anmeldung am Server auf der Shell/Desktop. (jedem Domänennutzer)
Ansonsten ist bei keiner deiner Freigaben eine Gruppenbeschrenkung.
Geht ein chown root:domänengruppe irgendeine.txt?
Gruß
Chonta
Hallo,
welche Gruppe hast Du versucht beim chown? Nur die spezielle oder die domänen-admins.
Wenn die Domänenadmins gehen, dann reichen evtl die gepappten IDs nicht aus undmüssen erhöht werden.
Wenn keine domänengruppe auf Linuxebene aufgelöst werden kann, leigt es an dem uralt samba das du verwendest. 3.6.6 sollte gehen.
Geht bei mir in Verbindung mit 2012R2 DC.
Anpassungen für die Konfiguration gibt es hier einige im Forum.
browseable = No ist kontraproduktiv, wenn du für die Benutzer kiene Homeverzeichnisse willst, kommentiere die Freigabe als ganzes aus oder lösche diese Freigabe.
Gruß
Chonta
welche Gruppe hast Du versucht beim chown? Nur die spezielle oder die domänen-admins.
Wenn die Domänenadmins gehen, dann reichen evtl die gepappten IDs nicht aus undmüssen erhöht werden.
Wenn keine domänengruppe auf Linuxebene aufgelöst werden kann, leigt es an dem uralt samba das du verwendest. 3.6.6 sollte gehen.
Geht bei mir in Verbindung mit 2012R2 DC.
Anpassungen für die Konfiguration gibt es hier einige im Forum.
browseable = No ist kontraproduktiv, wenn du für die Benutzer kiene Homeverzeichnisse willst, kommentiere die Freigabe als ganzes aus oder lösche diese Freigabe.
Gruß
Chonta
Hallo,
das tu den Test mit einer Gruppe machst die nicht funktionieren kann ist natürlich kontraproduktiv.
Du musst natürlich eine echte Gruppe verwenden die auch klappen kann um festzustellen, ob das Linuxsystem überhapt mit den AD Gruppen umgehen kann, nur dann weist Du ob der Server wirklich in der Domäne ist oder nur halb halb= winbind kennt alles aber Linux kann mit AD Benutzern oder Gruppen nichts anfangen.
Ein Samba Server benimmt sich bei den Freigaben genauso wie ein Windowsrechner. Wenn man \\servername benutzt werden einem alle Freigaben angezeigt.
Wenn nun kein Zugriff verweigert beim Zugriff kommt, dann haut was mit deiner Konfiguration nicht hin oder das Mapping haut nicht hin.
Zum einen mit einer echten Gruppe das chown testen zum andern den Adressbereich für das Mappen ändern.
Der Bereich in dem Gemapt wird muss groß sein und die ID dürfen sich nicht mit LinuxuserIDs überschneiden, also schau nach in welchem Bereich dein Server mit useradd BenutzerID vergibt, der Mappingbereich muss höher sein!
valid users = [Voller Domänenname]\[Gruppenname]
So habe ich das nicht geschrieben, also bitte ändern in die von mir verwendete Schreibweise.
Hier eine smb.conf für AD und ein smbd 3.6.6
Vorteil du kannst die auf jedem Server verwenden und die ID sind überall gleich.
Deine Version funktioniert nur auf diesem einen Server, Daten die von dem Server zu einem anderen Server ausgetauscht werden und die ID mit übertragen haben dann auf dem anderen Server mitunter neue besitzer und Zugriffsrechte.
Hier für 3.5.6 (Unterscheidet sich von 3.6.6)
Evtl brauchst Du Anstelle 445 den Port 139.
Gruß
Chonta
PS: Die einzigen Datien die ich bei Sambaeinrichtung angefasst habe und musste sind /etc/hosts (bei .local Windowsdomains) /etc/nsswitch (passwd und group auf copmpat windbind) und die smb.conf Debiansysteme allerdings.
das tu den Test mit einer Gruppe machst die nicht funktionieren kann ist natürlich kontraproduktiv.
Du musst natürlich eine echte Gruppe verwenden die auch klappen kann um festzustellen, ob das Linuxsystem überhapt mit den AD Gruppen umgehen kann, nur dann weist Du ob der Server wirklich in der Domäne ist oder nur halb halb= winbind kennt alles aber Linux kann mit AD Benutzern oder Gruppen nichts anfangen.
Ein Samba Server benimmt sich bei den Freigaben genauso wie ein Windowsrechner. Wenn man \\servername benutzt werden einem alle Freigaben angezeigt.
Wenn nun kein Zugriff verweigert beim Zugriff kommt, dann haut was mit deiner Konfiguration nicht hin oder das Mapping haut nicht hin.
Zum einen mit einer echten Gruppe das chown testen zum andern den Adressbereich für das Mappen ändern.
Der Bereich in dem Gemapt wird muss groß sein und die ID dürfen sich nicht mit LinuxuserIDs überschneiden, also schau nach in welchem Bereich dein Server mit useradd BenutzerID vergibt, der Mappingbereich muss höher sein!
valid users = [Voller Domänenname]\[Gruppenname]
So habe ich das nicht geschrieben, also bitte ändern in die von mir verwendete Schreibweise.
Hier eine smb.conf für AD und ein smbd 3.6.6
[global]
#####neu
bind interfaces only = yes
interfaces = IP/24
workgroup = DOMAIN
realm = domain.local
security = ADS
winbind refresh tickets = Yes
#winbind separator = \
idmap config * : backend = rid
idmap config * : range = 100000-1000000000
idmap config * : base_rid = 0
template shell = /bin/bash
winbind use default domain = Yes
#winbind enum users = Yes
#winbind enum groups = Yes
winbind nested groups = Yes
winbind expand groups = 10
client use spnego = yes
client use spnego principal = no
send spnego principal = no
encrypt passwords = true
nt acl support = yes
follow symlinks = yes
wide links = yes
unix extensions = no
printing = cups
printcap name = cups
load printers = yes
smb ports = 445
max protocol = SMB2
Deine Version funktioniert nur auf diesem einen Server, Daten die von dem Server zu einem anderen Server ausgetauscht werden und die ID mit übertragen haben dann auf dem anderen Server mitunter neue besitzer und Zugriffsrechte.
Hier für 3.5.6 (Unterscheidet sich von 3.6.6)
[global]
workgroup = DOMAIN
realm = domain.local
security = ADS
winbind refresh tickets = Yes
idmap backend = idmap_rid:FLF=0-1000000000
idmap uid = 100000-100000000
idmap gid = 100000-100000000
template shell = /bin/false
winbind use default domain = Yes
#winbind enum users = Yes
#winbind enum groups = Yes
winbind nested groups = Yes
winbind expand groups = 10
client use spnego = yes
encrypt passwords = yes
#nt acl support = yes
follow symlinks = yes
wide links = yes
unix extensions = no
load printers = no
smb ports = 445
Evtl brauchst Du Anstelle 445 den Port 139.
Gruß
Chonta
PS: Die einzigen Datien die ich bei Sambaeinrichtung angefasst habe und musste sind /etc/hosts (bei .local Windowsdomains) /etc/nsswitch (passwd und group auf copmpat windbind) und die smb.conf Debiansysteme allerdings.
Ok,
invalid = Linux kennt die Gruppe nicht.
Die Frage geht überhaupt eine Gruppe oder ein Domänenbenutzer oder nicht?
Wenn einige gehen, dann ist für dein idmap (beide) die Range zu klein.
Wenn keine geht, dann bist Du der Domäne noch nicht sauber beigetreten.
Du solltest in der /etc/hosts die IP und die namen (fqdn und netbios) aller DCs hinterlegen.
Offt braucht ein Samba auch einen kompletten Server-neustart und dann geht es.
Da Du 2008 R2 DC im einsatz hast, empfehle ich Dir dringend Samba 3.6.6 zu verwenden und die Konfig nach meinem Beispiel zu verwenden, dann klapts auch.
Ich hatte mit Server 2012R2 DC und Samba < 3.6.6 Probleme.
Gruß
Chonta
invalid = Linux kennt die Gruppe nicht.
Die Frage geht überhaupt eine Gruppe oder ein Domänenbenutzer oder nicht?
Wenn einige gehen, dann ist für dein idmap (beide) die Range zu klein.
Wenn keine geht, dann bist Du der Domäne noch nicht sauber beigetreten.
Du solltest in der /etc/hosts die IP und die namen (fqdn und netbios) aller DCs hinterlegen.
Offt braucht ein Samba auch einen kompletten Server-neustart und dann geht es.
Da Du 2008 R2 DC im einsatz hast, empfehle ich Dir dringend Samba 3.6.6 zu verwenden und die Konfig nach meinem Beispiel zu verwenden, dann klapts auch.
Ich hatte mit Server 2012R2 DC und Samba < 3.6.6 Probleme.
Gruß
Chonta
Hallo,
das authentifizieren geht für jdenden Benutzer ab dem Moment wo der Server Domänenmemmberist.
In den Freigaben und im Dateisystem kannst Du aber steuern ob der Zugriff auf eine Freigabe erlaubt ist oder nicht.
Wenn ssh nicht weiter abgesichert ist, kann sich bei der Einstellung emplate shell = /bin/bash auch jeder Domänenbenutzer per SSH mit seinem Benutzernamen und Passwort am Server anmelden.
Wenn bei valid users murks hinterlegt ist, dann greift das nicht.
Wenn Du wirklich eine .local domäne hast, dann muss die /etc/hosts noch angepasst werden.
Wenn Du über die Freigabeneinstellung und valid user nicht weiter kommst, könntest Du, wenn es denn funktionierne würde, einfach die Dateisystemrechte setzen, das other keinen Zugriff ahd das Verzeichniss hat und nur die eine Gruppe und root volle Rechte auf den Freigegebenen Ordner haben, dann bekommen alle die nicht aufgelößt werden können zugriff verweigert, weil das Dateisystem sagt "Du nicht!"
Damit die Gruppenmitgleidschaften aufgelöst werden (bei vershachtelten Gruppen) ist
winbind nested groups = Yes
winbind expand groups = 10
wichtig.
Gruß
Chonta
das authentifizieren geht für jdenden Benutzer ab dem Moment wo der Server Domänenmemmberist.
In den Freigaben und im Dateisystem kannst Du aber steuern ob der Zugriff auf eine Freigabe erlaubt ist oder nicht.
Wenn ssh nicht weiter abgesichert ist, kann sich bei der Einstellung emplate shell = /bin/bash auch jeder Domänenbenutzer per SSH mit seinem Benutzernamen und Passwort am Server anmelden.
Wenn bei valid users murks hinterlegt ist, dann greift das nicht.
Wenn Du wirklich eine .local domäne hast, dann muss die /etc/hosts noch angepasst werden.
Wenn Du über die Freigabeneinstellung und valid user nicht weiter kommst, könntest Du, wenn es denn funktionierne würde, einfach die Dateisystemrechte setzen, das other keinen Zugriff ahd das Verzeichniss hat und nur die eine Gruppe und root volle Rechte auf den Freigegebenen Ordner haben, dann bekommen alle die nicht aufgelößt werden können zugriff verweigert, weil das Dateisystem sagt "Du nicht!"
Damit die Gruppenmitgleidschaften aufgelöst werden (bei vershachtelten Gruppen) ist
winbind nested groups = Yes
winbind expand groups = 10
wichtig.
Gruß
Chonta