Anmelde Probleme nach Update von 4.2 auf 4.3 ("User not in allowed groups")

Antworten
pago
Beiträge: 14
Registriert: 30 Apr 2020, 13:33

Anmelde Probleme nach Update von 4.2 auf 4.3 ("User not in allowed groups")

Beitrag von pago »

Guten Morgen,

ich wollte meine OPSI Infrastruktur von OPSI 4.2 auf OPSI 4.3 anheben.
Hierzu habe ich Ubuntu und auch OPSI nach und nach aktualisiert. Zwischen den Aktualisierungen habe ich immer wieder Anmeldetests durchgeführt.
Bis zu dem Zeitpunkt, als OPSI von 4.2 auf OPSI 4.3 (Stabe und Experimental getestet) angehoben wurde, haben meine Anmeldungen funktioniert.
Der OPSI-Configed wurde natürlich auch entsprechend der Version angehoben, so dass mit dem korrekten Configed die Anmeldung erfolgte.

Die Fehlermeldung lautete in etwa so: "User "%USERKENNUNG% is not in allowed Groups".
Hier frage ich mich gerade, von welchen Gruppen sprechen wir?
  • Userrole Gruppen
  • Domain-Gruppen aus der ACL.Conf
  • lokale Gruppe aus der ACL.conf
  • Oder von Gruppen, an die ich gerade gar nicht denke?
Hier könnte das Logging auch etwas schöner sein und zumindest mitgeteilt werden, welche Gruppen erlaubt sind.

Folgendes habe ich bereits getestet:
  • Die Authentifizierung gegenüber Linux funktioniert für die User.
  • Samba-Share lässt sich mit entsprechenden Konten öffnen.
  • Getent-group "Admin-Gruppe" gibt an, dass ich als User in der Berechtigungsgrupp (AD-Gruppe) enthalten bin.
Somit würde ich erst einmal behaupten, dass die Anmeldung grundlegend funktioniert aber von OPSI abgelehnt wird. Im Logfile konnte ich auch mit Log Level 7 keinen Ansatzpunkt finden, außer dass mein User in keiner der zugelassenen Gruppen enthalten ist.

In der ACL.Conf sind mehrere Usergruppen hinterlegt, was auch in OPSI 4.2 bereits der Fall war und dort auch funktionierte.

Leider kann ich gerade nicht mit Logfiles dienen, da ich in der Nacht noch einmal die alte Sicherung eingespielt habe um Betriebsfähig zu sein.

Sollten diese Informationen nicht reichen, kann ich natürlich das Update noch einmal fahren und die entsprechenden Log Bereiche zur Verfügung stellen.

Auszug aus dem Logfile /var/log/opsi/opsiconfd/IP-Adresse.log

Code: Alles auswählen

/var/log/opsi/opsiconfd/ip.log
[6] [2024-12-01 13:43:07.435] [IP-Adress ] Start authentication of client IP-Adress  (session.py:1382)
[7] [2024-12-01 13:43:07.435] [IP-Adress ] Trying to authenticate by user authentication module <opsiconfd.auth._pam.PAMAuthentication object at 0x7fde89909290>   (session.py:1295)
[9] [2024-12-01 13:43:07.436] [IP-Adress ] Trying to authenticate user adminuser with password ???KlartextPassword??? by PAM   (_pam.py:61)
[7] [2024-12-01 13:43:07.436] [IP-Adress ] Attempting PAM authentication as user adminuser (service=common-auth)...   (_pam.py:62)
[8] [2024-12-01 13:43:09.100] [IP-Adress ] PAM authentication successful.   (_pam.py:70)
[8] [2024-12-01 13:43:09.101] [IP-Adress ] attr='id', allowed=True, self_ace=None   (__init__.py:509)
[8] [2024-12-01 13:43:09.101] [IP-Adress ] ColumnInfo(table='USER', column='userId', client_id_column=False, select='`USER`.`userId`')   (__init__.py:510)
[8] [2024-12-01 13:43:09.101] [IP-Adress ] attr='created', allowed=True, self_ace=None   (__init__.py:509)
[8] [2024-12-01 13:43:09.101] [IP-Adress ] ColumnInfo(table='USER', column='created', client_id_column=False, select='`USER`.`created`')   (__init__.py:510)
[8] [2024-12-01 13:43:09.101] [IP-Adress ] attr='lastLogin', allowed=True, self_ace=None   (__init__.py:509)
[8] [2024-12-01 13:43:09.101] [IP-Adress ] ColumnInfo(table='USER', column='lastLogin', client_id_column=False, select='`USER`.`lastLogin`')   (__init__.py:510)
[8] [2024-12-01 13:43:09.101] [IP-Adress ] attr='mfaState', allowed=True, self_ace=None   (__init__.py:509)
[8] [2024-12-01 13:43:09.101] [IP-Adress ] ColumnInfo(table='USER', column='mfaState', client_id_column=False, select='`USER`.`mfaState`')   (__init__.py:510)
[8] [2024-12-01 13:43:09.101] [IP-Adress ] attr='otpSecret', allowed=True, self_ace=None   (__init__.py:509)
[8] [2024-12-01 13:43:09.101] [IP-Adress ] ColumnInfo(table='USER', column='otpSecret', client_id_column=False, select='`USER`.`otpSecret`')   (__init__.py:510)
[7] [2024-12-01 13:43:09.105] [IP-Adress ] Primary group id of user adminuser is 10513   (_pam.py:83)
[8] [2024-12-01 13:43:10.509] [IP-Adress ] Statement 'SELECT `USER`.`userId` AS `id`, `USER`.`created` AS `created`, `USER`.`lastLogin` AS `lastLogin`, `USER`.`mfaState` AS `mfaState`, `USER`.`otpSecret` AS `otpSecret` FROM `USER` >
[7] [2024-12-01 13:43:10.509] [IP-Adress ] Getting groups of user adminuser   (_pam.py:81)
[7] [2024-12-01 13:43:10.510] [IP-Adress ] Primary group id of user adminuser is 10513   (_pam.py:83)
[7] [2024-12-01 13:43:10.782] [IP-Adress ] User adminuser is member of groups: {'admingroup1', 'admingroup2', 'admingroup3', 'admingroup4', 'admingroup5', 'admingroup6', 'admingroup7', 'admingroup8}
[7] [2024-12-01 13:43:10.782] [IP-Adress ] Handle request exception OpsiServicePermissionError: Opsi service permission error: User 'adminuser' not in allowed groups   (session.py:294)
Traceback (most recent call last):
  File "opsiconfd/session.py", line 415, in __call__
  File "opsiconfd/session.py", line 261, in handle_request
  File "opsiconfd/session.py", line 258, in handle_request
  File "opsiconfd/session.py", line 1318, in authenticate
  File "opsiconfd/session.py", line 1440, in _authenticate
opsicommon.exceptions.OpsiServicePermissionError: Opsi service permission error: User 'adminuser' not in allowed groups
[4] [2024-12-01 13:43:10.783] [IP-Adress ] Opsi service permission error: User 'adminuser' not in allowed groups   (session.py:318)
[7] [2024-12-01 13:43:10.783] [IP-Adress ] Returning jsonrpc response because path startswith /rpc   (session.py:386)
Hier noch die Konfiguration in /etc/opsi/backendManager/acl.conf

Code: Alles auswählen

backend_deleteBase       : sys_group(opsiadmin,admingroup3)
backend_.*               : all
log_.*                   : sys_group(opsiadmin,admingroup3); opsi_depotserver; self
hostControl.*            : sys_group(opsiadmin,admingroup3); opsi_depotserver
host_get.*               : sys_group(opsiadmin,admingroup3); opsi_depotserver; self; opsi_client(attributes(!opsiHostKey,!oneTimePassword,!description,!lastSeen,!notes,!hardwareAddress,!inventoryNumber))
host_update.*            : sys_group(opsiadmin,admingroup3); opsi_depotserver; self
config_create.*          : sys_group(opsiadmin,admingroup3); opsi_depotserver; opsi_client
auditSoftware_delete.*   : sys_group(opsiadmin,admingroup3); opsi_depotserver
auditSoftware_.*         : sys_group(opsiadmin,admingroup3); opsi_depotserver; opsi_client
auditHardware_delete.*   : sys_group(opsiadmin,admingroup3); opsi_depotserver
auditHardware_.*         : sys_group(opsiadmin,admingroup3); opsi_depotserver; opsi_client
user_getCredentials      : sys_group(opsiadmin,admingroup3); opsi_depotserver; opsi_client
user_.*                  : sys_group(opsiadmin,admingroup3); opsi_depotserver
auditHardwareOnHost_.*   : sys_group(opsiadmin,admingroup3); opsi_depotserver; self
auditSoftwareOnClient_.* : sys_group(opsiadmin,admingroup3); opsi_depotserver; self
licenseOnClient_.*       : sys_group(opsiadmin,admingroup3); opsi_depotserver; self
productOnClient_.*       : sys_group(opsiadmin,admingroup3); opsi_depotserver; self
configState_.*           : sys_group(opsiadmin,admingroup3); opsi_depotserver; self
.*_get.*                 : sys_group(opsiadmin,admingroup3); opsi_depotserver; opsi_client
productPropertyState_.*  : sys_group(opsiadmin,admingroup3); opsi_depotserver; self
get(Raw){0,1}Data        : sys_group(opsiadmin,admingroup3); opsi_depotserver
.*                       : sys_group(opsiadmin,admingroup3); opsi_depotserver
OPSI.conf

Code: Alles auswählen

[host]
id = "Server-FQDN"
key = "KeyHash"
server-role = "configserver"

[service]
url = "https://localhost:4447"

[groups]
fileadmingroup = "opsifileadmins"
admingroup = "opsiadmin"
readonly = ""

[depot_user]
username = "pcpatch"
home = "/var/lib/opsi"

[packages]
use_pigz = true

[ldap_auth]
ldap_url = ""
bind_user = ""
group_filter = ""
use_member_of_rdn = false

opsiconfd.conf

Code: Alles auswählen

 update-ip = true
run-as-user = opsiconfd
welcome-page = false

Benutzeravatar
j.schneider
uib-Team
Beiträge: 2045
Registriert: 29 Mai 2008, 15:14

Re: Anmelde Probleme nach Update von 4.2 auf 4.3 ("User not in allowed groups")

Beitrag von j.schneider »

Hallo,

das ist ein zusätzlicher Sicherheitsmechanismus, der vor kurzem dazu gekommen ist.
Hier der Auszug aus opsiconfd --help:

Code: Alles auswählen

  --auth-allowed-groups [AUTH_ALLOWED_GROUPS ...]
          A list of groups which are allowed to connect.
          If the list is empty, all groups are allowed to connect.
          Placeholders in the form of {groupname} can be used to refer to groups from
          /etc/opsi/opsi.conf.
          [env var: OPSICONFD_AUTH_ALLOWED_GROUPS]
          (default: ['{admingroup}', '{readonly}'])
Mit der Standard-Konfiguration dürfen sich also nur die Mitglieder der Gruppen admingroup und readonly anmelden, die in der /etc/opsi/opsi.conf hinterlegt sind.


Vielen Dank für die Nutzung von opsi. Im Forum ist unser Support begrenzt.

Für den professionellen Einsatz und individuelle Beratung empfehlen wir einen Support-Vertrag und eine Schulung.
Gerne informieren wir Sie zu unserem Angebot.

uib GmbH
Telefon: +49 6131 27561 0
E-Mail: sales@uib.de


pago
Beiträge: 14
Registriert: 30 Apr 2020, 13:33

Re: Anmelde Probleme nach Update von 4.2 auf 4.3 ("User not in allowed groups")

Beitrag von pago »

Vielen Dank für die Antwort.
Das passt so. Allerdings kann ich wohl nur eine Gruppe angeben.
Zumindest bekomme ich ab dem Zeitpunkt, zu dem ich eine zweite Gruppe (Komma getrennt) in die opsiconfd.conf Eintrage wieder die Abmeldeprobleme.
Mit einer einzelnen Gruppe funktioniert die Anmeldung wieder wie gewohnt.
Ich habe jetzt eine neue AD Sicherheitsgruppe für die OPSI Anmeldung erstellt und dieser die eigentlichen Gruppen zugewiesen.
Benutzeravatar
j.schneider
uib-Team
Beiträge: 2045
Registriert: 29 Mai 2008, 15:14

Re: Anmelde Probleme nach Update von 4.2 auf 4.3 ("User not in allowed groups")

Beitrag von j.schneider »

Listen müssen in der opsiconfd.conf in dem folgenden Format hinterlegt werden:

Code: Alles auswählen

auth-allowed-groups = [gruppe1, gruppe2]
Grüße
Jan Schneider


Vielen Dank für die Nutzung von opsi. Im Forum ist unser Support begrenzt.

Für den professionellen Einsatz und individuelle Beratung empfehlen wir einen Support-Vertrag und eine Schulung.
Gerne informieren wir Sie zu unserem Angebot.

uib GmbH
Telefon: +49 6131 27561 0
E-Mail: sales@uib.de


Antworten