OPSI config editor und Auth über AD

Antworten
AlexB
Beiträge: 80
Registriert: 07 Mär 2017, 17:41

OPSI config editor und Auth über AD

Beitrag von AlexB »

Servus zusammen,

habe aktuell ein kleines Problem mit dem config editor und der Authenifizierung über das AD.

Meine Config:
Server: CentOS7
OPSI: 4.0.7.16
AD Anbindung: sssd (auto config über realmd)
Per "sss_override" wurde der AD-Gruppe die fürs OPSI zuständig ist die GID 1000 gegeben.
Das wird dann auch als "opsidamin"-Gruppe aufgelöst.

Das Problem ist, dass ich einen Access Denied Error erhalte wenn ich mich mit dem Config Editor verbinden will.

opsiconfd log:
==>>> Opsi authentication error: Permission denied (Worker.py|294)
Wenn ich nun jeden User der "opsiadmin"-Gruppe seperat hinzufüge, funktioniert es.

Gibt es eine bessere Möglichkeit als mein aktuelles Setup? Ich würde das manuelle Hinzufügen und Entfernen von Usern vermeiden und sowas lieber über das AD machen.

VG

edit:
Text ein bisschen klarer formuliert :D

edit2:
Anscheinend gibt es Probleme mit dem Backend
Execution error: Backend permission denied error: Access to method 'product_getObjects' denied for user 'Benutzer@domain' (JsonRpc.py|146)
Meine acl.conf ist nicht verändert worden:
backend_deleteBase : sys_group(opsiadmin)
backend_.* : all
hostControl.* : sys_group(opsiadmin); opsi_depotserver
host_get.* : sys_group(opsiadmin); opsi_depotserver; self; opsi_client(attributes(!opsiHostKey,!description,!lastSeen,!notes,!hardwareAddress,!inventoryNumber))
auditSoftware_delete.* : sys_group(opsiadmin); opsi_depotserver
auditSoftware_.* : sys_group(opsiadmin); opsi_depotserver; opsi_client
auditHardware_delete.* : sys_group(opsiadmin); opsi_depotserver
auditHardware_.* : sys_group(opsiadmin); opsi_depotserver; opsi_client
.*_get.* : sys_group(opsiadmin); opsi_depotserver; opsi_client
.* : sys_group(opsiadmin); opsi_depotserver; self
Benutzeravatar
n.wenselowski
Ex-uib-Team
Beiträge: 3194
Registriert: 04 Apr 2013, 12:15

Re: OPSI config editor und Auth über AD

Beitrag von n.wenselowski »

Hi,

nach der Anbindung des AD schon mal den opsiconfd neu gestartet?

Zum Debugging kannst du das Log-Level des opsiconfd in /etc/opsi/opsiconfd.conf auf 8 stellen und dann das entsprechende Log der anfragenden Adresse unter /var/log/opsi/opsiconfd/ anschauen. Neustart des opsiconfd nicht vergessen.
Das sollte detaillierte Infos dazu liefern welche Gruppen für einen Benutzer ausgelesen sind und wo es letztlich dabei hängt.

Und außerdem noch mal der Hinweis, dass für den produktiven Einsatz von opsi ein Supportvertrag empfohlen wird. Damit lässt sich in solchen Fällen auch sehr einfach Schützenhilfe leisten ;)

Gruß

Niko

Code: Alles auswählen

import OPSI
AlexB
Beiträge: 80
Registriert: 07 Mär 2017, 17:41

Re: OPSI config editor und Auth über AD

Beitrag von AlexB »

Moin Niko,

habe mir die Logs mal genau angeschaut (war ja nicht so wenig... knapp 7k Zeilen für den Login über den configed :lol: ).
Die AD-Gruppen werden nicht ausgelesen und somit auch nicht die Gruppe mit der "opsiadmin" GID.

Login mit AD-User:

Code: Alles auswählen

[8] [Jun 06 09:45:01] Attempting PAM authentication as user u'benutzer@domain'... (BackendManager.py|812)
[8] [Jun 06 09:45:01] PAM authentication successful. (BackendManager.py|830)
[7] [Jun 06 09:45:01] Reading groups of user... (BackendManager.py|836)
[7] [Jun 06 09:45:01] Primary group of user u'benutzer@domain' is u'dom\xe4nen-benutzer@domain' (BackendManager.py|838)
[7] [Jun 06 09:45:01] User u'benutzer@domain' is member of groups: set([u'dom\xe4nen-benutzer@domain']) (BackendManager.py|842)
[6] [Jun 06 09:45:01] Operating system authentication successful for user 'benutzer@domain', groups 'domänen-benutzer@domain' (BackendManager.py|671)
Login mit lokalem Adminuser:

Code: Alles auswählen

[8] [Jun 06 10:19:39] Attempting PAM authentication as user u'adminuser'... (BackendManager.py|812)
[8] [Jun 06 10:19:39] PAM authentication successful. (BackendManager.py|830)
[7] [Jun 06 10:19:39] Reading groups of user... (BackendManager.py|836)
[7] [Jun 06 10:19:39] Primary group of user u'adminuser' is u'adminuser' (BackendManager.py|838)
[7] [Jun 06 10:19:39] User u'adminuser' is member of groups: set([u'pcpatch', u'opsiadmin', u'adminuser']) (BackendManager.py|842)
[6] [Jun 06 10:19:39] Operating system authentication successful for user 'adminuser', groups 'pcpatch,opsiadmin,adminuser' (BackendManager.py|671)
Ich weiß jetzt nicht ob das eine Limitierung von Python ist oder der Implementierung.
Sieht aber so aus, als ob ich da nicht wirklich was machen kann. Oder könnte ich die primary group die ausgelesen wird als sysgroup in der ACL.conf hinzufügen?
Das würde zwar allen AD-Usern es erlauben, der Login ist aber über sssd eh auf nur bestimmte SecGroups beschränkt.

VG
Alex
Benutzeravatar
n.wenselowski
Ex-uib-Team
Beiträge: 3194
Registriert: 04 Apr 2013, 12:15

Re: OPSI config editor und Auth über AD

Beitrag von n.wenselowski »

Hi,

wir nutzen an der Stelle die Informationen, die wir über das System bekommen. Da müssen also auch die ganzen anderen Gruppen des Users landen - bzw. er in der passenden Gruppe sein.


Gruß

Niko

Code: Alles auswählen

import OPSI
AlexB
Beiträge: 80
Registriert: 07 Mär 2017, 17:41

Re: OPSI config editor und Auth über AD

Beitrag von AlexB »

Hey,
n.wenselowski hat geschrieben: wir nutzen an der Stelle die Informationen, die wir über das System bekommen. Da müssen also auch die ganzen anderen Gruppen des Users landen - bzw. er in der passenden Gruppe sein.
Über group und id kann ich die Gruppenzugehörigkeiten ja einwandfrei abrufen. Deswegen dachte ich, dass das kein Problem sein sollte :D

Ihr nutzt ja das "grp" Modul von Python um die Gruppen abzurufen, das fragt aber anscheinend nur die lokalen Gruppen ab.
https://github.com/opsi-org/python-opsi ... er.py#L773

Scheint also eine Limitierung seitens Python zu sein. Schade eigentlich.

VG
Alex
Benutzeravatar
n.wenselowski
Ex-uib-Team
Beiträge: 3194
Registriert: 04 Apr 2013, 12:15

Re: OPSI config editor und Auth über AD

Beitrag von n.wenselowski »

Hi,
AlexB hat geschrieben:
n.wenselowski hat geschrieben: wir nutzen an der Stelle die Informationen, die wir über das System bekommen. Da müssen also auch die ganzen anderen Gruppen des Users landen - bzw. er in der passenden Gruppe sein.
Über group und id kann ich die Gruppenzugehörigkeiten ja einwandfrei abrufen. Deswegen dachte ich, dass das kein Problem sein sollte :D

Ihr nutzt ja das "grp" Modul von Python um die Gruppen abzurufen, das fragt aber anscheinend nur die lokalen Gruppen ab.
https://github.com/opsi-org/python-opsi ... er.py#L773

Scheint also eine Limitierung seitens Python zu sein. Schade eigentlich.
Der vorletzte Satz sollte eher lauten: Scheint also eine Limitierung seitens realmd zu sein. :P
Mit anderen Tools, bspw. winbind, ist es kein Problem. Macht realmd keine Integration ins NSS?


Gruß

Niko

Code: Alles auswählen

import OPSI
Antworten