UCS Member - App Installation -> Insufficient access (50)

german

#1

Hallo,

nach dem erfolgreichen Join als Member-Server in unsere AD-Domäne ( [url]AD -> UCS Sync = Failed to lookup S4 LDAP base] ) möchten wir testweise ein paar Apps aus dem App Center installieren.
Als Test nehmen wir Dudle.
Leider schlägt die Installation, egal welche App gewählt wird, beim Join fehl.

Folgende Ausgabe bringt die management-console-module-appcenter.log:

[...]
23.01.17 10:26:13.296  MODULE      ( PROCESS ) : Executing interface restore_data_before_setup for dudle
23.01.17 10:26:13.419  MODULE      ( PROCESS ) : ** Restore forced UCR layer:
23.01.17 10:26:13.419  MODULE      ( PROCESS ) : ** Restore ldap UCR layer
23.01.17 10:26:13.419  MODULE      ( PROCESS ) : ** Restore normal UCR layer:
23.01.17 10:26:13.755  MODULE      ( PROCESS ) : Executing interface setup for dudle
23.01.17 10:26:13.756  MODULE      ( PROCESS ) : Copying App Center's setup to container's /tmp/setup
23.01.17 10:26:13.924  MODULE      ( PROCESS ) : Joining
23.01.17 10:26:14.185  MODULE      ( PROCESS ) : univention-join: joins a computer to an ucs domain
23.01.17 10:26:14.185  MODULE      ( PROCESS ) : copyright (c) 2001-2016 Univention GmbH, Germany
23.01.17 10:26:14.185  MODULE      ( PROCESS ) : 
23.01.17 10:26:14.201  MODULE      ( PROCESS ) : Search DC Master:  done
23.01.17 10:26:17.210  MODULE      ( PROCESS ) : Check DC Master:  done
23.01.17 10:26:21.722  MODULE      ( PROCESS ) : Search ldap/base done
23.01.17 10:26:25.101  MODULE      ( PROCESS ) : ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)
23.01.17 10:26:26.612  MODULE      ( PROCESS ) : Insufficient access (50)
23.01.17 10:26:26.617  MODULE      ( PROCESS ) : Search LDAP binddn 
23.01.17 10:26:26.617  MODULE      ( PROCESS ) : 
23.01.17 10:26:26.618  MODULE      ( PROCESS ) : **************************************************************************
23.01.17 10:26:26.618  MODULE      ( PROCESS ) : * Join failed!                                                           *
23.01.17 10:26:26.618  MODULE      ( PROCESS ) : * Contact your system administrator                                      *
23.01.17 10:26:26.618  MODULE      ( PROCESS ) : **************************************************************************
23.01.17 10:26:26.618  MODULE      ( PROCESS ) : * Message:  binddn for user Administrator not found. 
23.01.17 10:26:26.618  MODULE      ( PROCESS ) : **************************************************************************
23.01.17 10:26:26.621  MODULE      ( PROCESS ) : Something went wrong while joining the system
23.01.17 10:26:26.696  MODULE      ( PROCESS ) : Something went wrong while joining the system

23.01.17 10:26:27.109  MODULE      ( PROCESS ) : Setup script failed!
23.01.17 10:26:27.109  MODULE      ( PROCESS ) : Aborting...
23.01.17 10:26:27.110  MODULE      ( PROCESS ) : Going to remove Dudle (1.1.0-1)
23.01.17 10:26:37.529  MODULE      ( PROCESS ) :  Removing any system startup links for /etc/init.d/docker-app-dudle ...
23.01.17 10:26:37.530  MODULE      ( PROCESS ) :    /etc/rc0.d/K14docker-app-dudle
23.01.17 10:26:37.530  MODULE      ( PROCESS ) :    /etc/rc1.d/K14docker-app-dudle
23.01.17 10:26:37.530  MODULE      ( PROCESS ) :    /etc/rc2.d/S41docker-app-dudle
23.01.17 10:26:37.530  MODULE      ( PROCESS ) :    /etc/rc3.d/S41docker-app-dudle
23.01.17 10:26:37.530  MODULE      ( PROCESS ) :    /etc/rc4.d/S41docker-app-dudle
23.01.17 10:26:37.530  MODULE      ( PROCESS ) :    /etc/rc5.d/S41docker-app-dudle
23.01.17 10:26:37.530  MODULE      ( PROCESS ) :    /etc/rc6.d/K14docker-app-dudle
23.01.17 10:26:37.725  MODULE      ( PROCESS ) : Removing localhost from LDAP object
23.01.17 10:26:39.437  MODULE      ( PROCESS ) : Reloading web server config: apache2.
23.01.17 10:26:40.101  MODULE      ( PROCESS ) : Installing join script /var/cache/univention-appcenter/dudle_20160201.uinst
23.01.17 10:26:40.747  MODULE      ( PROCESS ) : univention-run-join-scripts: runs all join scripts existing on local computer.
23.01.17 10:26:40.747  MODULE      ( PROCESS ) : copyright (c) 2001-2016 Univention GmbH, Germany
23.01.17 10:26:40.747  MODULE      ( PROCESS ) : 
23.01.17 10:26:40.775  MODULE      ( PROCESS ) : Running 01univention-ldap-server-init.inst skipped (already executed)
[...]

Egal welche Domänen-Admin wir nehmen, den Join schlägt immer fehl.
Woran könnte das liegen?
Die Join-Skripte für die Domäne sind beim AD-Join alle erfolgreich ausgeführt worden.


#2

Hallo,

gibt es Auffälligkeiten am Benutzerobjekt?

univention-ldapsearch uid=Administrator

Steht im /var/log/univention/join.log was Aufschlussreiches?

Läuft der LDAP-Server?

pgrep -fl slapd

Viele Grüße
Christina


#3

Hallo!

univention-ldapsearch uid=Administrator

gibt folgende Ausgabe (mögl. sensible Daten sind per **** unkenntlich gemacht)

# extended LDIF
#
# LDAPv3
# base <dc=local,dc=de> (default) with scope subtree
# filter: uid=Administrator
# requesting: ALL
#

# Administrator, users, local.de
dn: uid=Administrator,cn=users,dc=local,dc=de
krb5PrincipalName: Administrator@LOCAL.DE
uidNumber: 2008
sambaAcctFlags: [U          ]
sambaPasswordHistory: ************************
krb5MaxLife: 86400
krb5Key:: ************************
krb5Key:: ************************
krb5Key:: ************************
krb5Key:: ************************
krb5Key:: ************************
krb5Key:: ************************
krb5Key:: ************************
krb5MaxRenew: 604800
krb5KeyVersionNumber: 1
loginShell: /bin/bash
univentionObjectType: users/user
krb5KDCFlags: 126
sambaPwdLastSet: 1484663339
sambaSID: ************************
pwhistory: ************************
homeDirectory: /home/Administrator
uid: Administrator
objectClass: krb5KDCEntry
objectClass: univentionPerson
objectClass: person
objectClass: automount
objectClass: top
objectClass: inetOrgPerson
objectClass: sambaSamAccount
objectClass: organizationalPerson
objectClass: univentionPWHistory
objectClass: univentionMail
objectClass: univentionSAMLEnabled
objectClass: shadowAccount
objectClass: krb5Principal
objectClass: posixAccount
objectClass: univentionObject
displayName: Administrator
cn: Administrator
sn: Administrator
gecos: Administrator
userPassword:: ************************
sambaNTPassword: NO PASSWORD*********************
univentionObjectFlag: synced
gidNumber: 5001
sambaPrimaryGroupSID: ************************
univentionUMCProperty: appcenterDockerSeen=false
univentionUMCProperty: appcenterSeen=true
univentionUMCProperty: favorites=appcenter:appcenter,updater,udm:computers/com
 puter,udm:groups/group,udm:users/user,udm:shares/print

# search result
search: 3
result: 0 Success

# numResponses: 2
# numEntries: 1

Im join.log steht leider nicht viel aufschlussreiches:

univention-run-join-scripts started
Mo 23. Jan 10:26:40 CET 2017

RUNNING 01univention-ldap-server-init.inst
EXITCODE=already_executed
RUNNING 02univention-directory-notifier.inst
EXITCODE=already_executed
RUNNING 03univention-directory-listener.inst
EXITCODE=already_executed
RUNNING 04univention-ldap-client.inst
EXITCODE=already_executed
RUNNING 05univention-bind.inst
EXITCODE=already_executed
RUNNING 08univention-apache.inst
EXITCODE=already_executed
RUNNING 10univention-ldap-server.inst
EXITCODE=already_executed
RUNNING 11univention-heimdal-init.inst
EXITCODE=already_executed
RUNNING 11univention-pam.inst
EXITCODE=already_executed
RUNNING 15univention-directory-notifier-post.inst
EXITCODE=already_executed
RUNNING 15univention-heimdal-kdc.inst
EXITCODE=already_executed
RUNNING 18python-univention-directory-manager.inst
EXITCODE=already_executed
RUNNING 20univention-directory-policy.inst
EXITCODE=already_executed
RUNNING 20univention-join.inst
EXITCODE=already_executed
RUNNING 26univention-nagios-common.inst
EXITCODE=already_executed
RUNNING 26univention-samba.inst
EXITCODE=already_executed
RUNNING 30univention-appcenter.inst
EXITCODE=already_executed
RUNNING 30univention-nagios-client.inst
EXITCODE=already_executed
RUNNING 31univention-nagios-ad-connector.inst
EXITCODE=already_executed
RUNNING 31univention-nagios-s4-connector.inst
EXITCODE=already_executed
RUNNING 31univention-nagios-samba.inst
EXITCODE=already_executed
RUNNING 34univention-management-console-server.inst
EXITCODE=already_executed
RUNNING 35univention-appcenter-docker.inst
EXITCODE=already_executed
RUNNING 35univention-management-console-module-adconnector.inst
EXITCODE=already_executed
RUNNING 35univention-management-console-module-appcenter.inst
EXITCODE=already_executed
RUNNING 35univention-management-console-module-diagnostic.inst
EXITCODE=already_executed
RUNNING 35univention-management-console-module-ipchange.inst
EXITCODE=already_executed
RUNNING 35univention-management-console-module-join.inst
EXITCODE=already_executed
RUNNING 35univention-management-console-module-lib.inst
EXITCODE=already_executed
RUNNING 35univention-management-console-module-mrtg.inst
EXITCODE=already_executed
RUNNING 35univention-management-console-module-passwordchange.inst
EXITCODE=already_executed
RUNNING 35univention-management-console-module-pkgdb.inst
EXITCODE=already_executed
RUNNING 35univention-management-console-module-printers.inst
EXITCODE=already_executed
RUNNING 35univention-management-console-module-quota.inst
EXITCODE=already_executed
RUNNING 35univention-management-console-module-reboot.inst
EXITCODE=already_executed
RUNNING 35univention-management-console-module-services.inst
EXITCODE=already_executed
RUNNING 35univention-management-console-module-setup.inst
EXITCODE=already_executed
RUNNING 35univention-management-console-module-sysinfo.inst
EXITCODE=already_executed
RUNNING 35univention-management-console-module-top.inst
EXITCODE=already_executed
RUNNING 35univention-management-console-module-ucr.inst
EXITCODE=already_executed
RUNNING 35univention-management-console-module-udm.inst
EXITCODE=already_executed
RUNNING 35univention-management-console-module-updater.inst
EXITCODE=already_executed
RUNNING 35univention-nagios-cups.inst
EXITCODE=already_executed
RUNNING 36univention-management-console-module-apps.inst
EXITCODE=already_executed
RUNNING 40univention-postgresql.inst
EXITCODE=already_executed
RUNNING 40univention-virtual-machine-manager-schema.inst
EXITCODE=already_executed
RUNNING 50univention-pkgdb.inst
EXITCODE=already_executed
RUNNING 78univention-kde.inst
EXITCODE=already_executed
RUNNING 79univention-printserver.inst
EXITCODE=already_executed
RUNNING 81univention-ad-connector.inst
EXITCODE=already_executed
RUNNING 81univention-nfs-server.inst
EXITCODE=already_executed
RUNNING 90univention-bind-post.inst
EXITCODE=already_executed
RUNNING 91univention-saml.inst
EXITCODE=already_executed
RUNNING 92univention-management-console-web-server.inst
EXITCODE=already_executed
RUNNING 98univention-pkgdb-tools.inst
EXITCODE=already_executed
RUNNING 51dudle-uninstall.uinst
2017-01-23 10:26:44.237920321+01:00 (in joinscript_init)
WARNING: cannot remove Dudle from service, value does not exist
No modification: cn=ucs-dc2,cn=dc,cn=computers,dc=local,dc=de
EXITCODE=0

Mo 23. Jan 10:26:45 CET 2017
univention-run-join-scripts finished

Der LDAP-Server läuft:

22489 /usr/sbin/slapd -h ldapi:/// ldap://:7389/ ldap://:389/ ldaps://:7636/ ldaps://:636/

#4

Hallo!
Wir haben ein ganz ähnliches Problem. Vielleicht hilft unsere ldap log ja weiter. Ich hänge diese mal an.

https://www.dropbox.com/s/71ajs6d0tx1c4kd/output.txt?dl=1

Die Datei ist leider 4MB groß. Deswegen kann ich Sie hier nicht im Forum hochladen.

Beste Grüße!


#5

Hallo ryul,

Dudle ist eine Docker-App, da liegen die Dinge etwas anders… Eine Docker-App ist ein Container, der wie ein eigenständiger Computer in der Domäne erscheint. Und was aus dem Appcenter-Log zu sehen ist, ist ein Fehler beim Versuch, diesen Container in die Domäne zu joinen, nicht Ihren eigentlichen UCS-Host. Deshalb ist es auch logisch, daß Sie im join.log Ihres Hosts keine Hinweise finden.

Im Programmcode von /usr/sbin/univention-join ab Zeile 466 wird der DN des Administrators ermittelt, und da sieht man, daß drei Methoden angewandt werden, die jeweils vom beitretenden Host mittels SSH auf dem DC ausgeführt werden, und zwar mit dem angegebenen Master-Account, also praktisch führt der aus

univention-ssh '<passwort>' Administrator@DCHost 'das kommando'

und jeweils eines der drei Kommandos:

/usr/sbin/udm users/user list --filter uid=Administrator --logfile /dev/null
ldapsearch -x -LLL -H ldapi:/// '(&(uid=Administrator)(objectClass=person))' dn
ldapsearch -x -LLL '(&(uid=Administrator)(objectClass=person))' dn

Sobald einer der Befehle ein Ergebnis liefert, werden die nachfolgenden Befehle gar nicht mehr ausgeführt. Im Log sieht man: der erste Befehl hat kein Ergebnis geliefert (aber seine Fehlermeldung ist nach /dev/null gegangen), der zweite Befehl scheitert, weil “Administrator” kein Recht hat, den lokalen Socket (/run/slapd/ldapi, root:root 0700) zu lesen (“can’t contact LDAP server”) und der dritte scheitert, weil anonymes Binden nicht erlaubt ist (“insufficient access”).

Wenn ich auf meinem “normalen” Master (also einem, der keiner AD Domäne beigetreten ist) diese Befehle ausführe, bekomme ich:

Administrator@ucs41-master:~$ /usr/sbin/udm users/user list --filter 'uid=Administrator'
uid=Administrator
DN: uid=Administrator,cn=users,dc=baustelle,dc=intranet
ARG: None
  homedrive: None
  CtxKeyboardLayout: None
  disabled: none
.....
Administrator@ucs41-master:~$ ldapsearch -x -LLL -H ldapi:/// '(&(uid=Administrator)(objectClass=person))' DN
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)
Administrator@ucs41-master:~$ ldapsearch -x -LLL '(&(uid=Administrator)(objectClass=person))' DN
Insufficient access (50)

Da finden Sie die beiden Fehler wieder, die im Appcenter-Log zu sehen sind. Die Fehlermeldung des ersten Befehls sehen wir nicht, weil sie weggeleitet wurde. Was liefert denn der Befehl

/usr/sbin/udm users/user list --filter 'uid=Administrator'

wenn Sie ihn als ‘Administrator’ auf dem UCS Host ausführen?

viele Grüße
Frank Greif.


#6

Hallo,

der Befehl liefert folgendes:

uid=Administrator
DN: uid=Administrator,cn=users,dc=local,dc=de
ARG: None
  homedrive: None
  CtxKeyboardLayout: None
  disabled: none
  postcode: None
  CtxWFProfilePath: None
  CtxRASDialin: E
  title: None
  organisation: None
  CtxMaxIdleTime: None
  lastname: Administrator
  employeeNumber: None
  password: {KINIT}
  passwordexpiry: None
  sambaRID: 5016
  profilepath: None
  objectFlag: synced
  sambahome: None
  CtxWFHomeDirDrive: None
  CtxCallback: None
  street: None
  CtxShadow: 00000000
  CtxWorkDirectory: None
  CtxNWLogonServer: None
  CtxMaxConnectionTime: None
  umcProperty: appcenterDockerSeen = false
  umcProperty: appcenterSeen = 2
  umcProperty: favorites = appcenter:appcenter,updater,udm:computers/computer,udm:groups/group,udm:users/user,udm:shares/print
  groups: cn=Domänen-Admins,cn=groups,dc=local,dc=de
  groups: cn=Domänen-Benutzer,cn=groups,dc=local,dc=de
  groups: cn=Schema-Admins,cn=groups,dc=local,dc=de
  overridePWHistory: None
  country: None
  pwdChangeNextLogin: None
  primaryGroup: cn=Domänen-Benutzer,cn=groups,dc=local,dc=de
  CtxInitialProgram: None
  scriptpath: None
  city: None
  CtxStartprogramClient: 0
  userexpiry: None
  username: Administrator
  departmentNumber: None
  shell: /bin/bash
  CtxMinEncryptionLevel: None
  CtxCallbackNumber: None
  mailHomeServer: None
  CtxCfgFlags1: None
  gidNumber: 5001
  sambaLogonHours: None
  CtxBrokenSession: 0000
  locked: none
  CtxReconnectSession: 0000
  roomNumber: None
  homeShare: None
  gecos: Administrator
  CtxCfgClientPrinters: 0
  jpegPhoto: None
  uidNumber: 2008
  employeeType: None
  homeSharePath: None
  CtxCfgPresent: None
  CtxWFHomeDir: None
  unixhome: /home/Administrator
  description: None
  firstname: None
  birthday: None
  overridePWLength: None
  CtxMaxDisconnectionTime: None
  CtxCfgDefaultClientPrinters: 0
  displayName: Administrator
  mailPrimaryAddress: None
  CtxCfgClientDrivers: 0
  CtxCfgTSLogon: 1

#7

Hallo Ryul,

ich habe inzwischen auch auf einem DC im AD Member Mode getestet, und ich hatte weder für den initialen Join des DC ins AD die Workarounds nötig, die Sie anwenden mußten (siehe weiter oben zitierte Forenartikel), noch passierte beim Installieren der Docker-App der Fehler wie bei Ihnen. Ich weiß nun nicht, wie ist der Zustand der App bei Ihnen momentan? hat das Appcenter alles rückgerollt, oder liegt der Container noch halbkaputt herum, so daß man hineinschauen könnte? Zuerst mit
docker ps
erfahren, ob es einen Container gibt (und die ID merken), und dann darin eine Shell aufrufen:
docker exec -it "container_id" /bin/bash
Dann wären wir in der Umgebung, in der der Join fehlgeschlagen ist, und man könnte ihn versuchen zu wiederholen, also mit
univention-check-join-status
nachschauen und mit
univention-join
noch einmal versuchen.

viele Grüße
Frank Greif.