Hallo Sepp, hallo Liste, vielen Dank. Ich habe jetzt die Konfiguration angepasst. Inzwischen ist es Möglich, sich mit einem AD-Account als Agent anzumelden. Auch ist es möglich, sich als Systembenutzer (OTRS Benutzer) aus der OTRS-eigenen Datenbank anzumelden. Nicht möglich ist das Anmelden als Kunde. Hier kommt:
Authentication succeeded, but no customer record is found in the customer backend. Please contact your administrator. Meine Frage: wo bekomme ich erweiterte Fehlermeldungen? Eigentlich sollten die Logfiles unter /opt/otrs/var/log sein (otrs.log), hier gibt es aber diese Logdatei nicht. Hier gibt es nur SchedulerOut-Logs sowie TicketCounter.log sowie SchedulerErr.log meine Config.pm: [CODE] # -- # Kernel/Config.pm - Config file for OTRS kernel # Copyright (C) 2001-2015 OTRS AG, http://otrs.com/ # -- # This software comes with ABSOLUTELY NO WARRANTY. For details, see # the enclosed file COPYING for license information (AGPL). If you # did not receive this file, see http://www.gnu.org/licenses/agpl.txt. # -- # Note: # # -->> Most OTRS configuration should be done via the OTRS web interface # and the SysConfig. Only for some configuration, such as database # credentials and customer data source changes, you should edit this # file. For changes do customer data sources you can copy the definitions # from Kernel/Config/Defaults.pm and paste them in this file. # Config.pm will not be overwritten when updating OTRS. # -- package Kernel::Config; use strict; use warnings; use utf8; sub Load { my $Self = shift; # ---------------------------------------------------- # # database settings # # ---------------------------------------------------- # # The database host $Self->{'DatabaseHost'} = '127.0.0.1'; # The database name $Self->{'Database'} = "otrs_main_db"; # The database user $Self->{'DatabaseUser'} = "otrsdbuser"; # The password of database user. You also can use bin/ otrs.CryptPassword.pl # for crypted passwords $Self->{'DatabasePw'} = '7#qirGzP!t!2kR$Nn2vu'; # The database DSN for MySQL ==> more: "perldoc DBD::mysql" $Self->{'DatabaseDSN'} = "DBI:mysql:database=$Self->{Database};host=$Self->{DatabaseHost}"; # The database DSN for PostgreSQL ==> more: "perldoc DBD::Pg" # if you want to use a local socket connection # $Self->{DatabaseDSN} = "DBI:Pg:dbname=$Self->{Database};"; # if you want to use a TCP/IP connection # $Self->{DatabaseDSN} = "DBI:Pg:dbname=$Self->{Database};host=$Self->{DatabaseHost};"; # The database DSN for Microsoft SQL Server - only supported if OTRS is # installed on Windows as well # $Self->{DatabaseDSN} = "DBI:ODBC:driver={SQL Server};Database=$Self->{Database};Server=$Self->{DatabaseHost},1433"; # The database DSN for Oracle ==> more: "perldoc DBD::oracle" # $Self->{DatabaseDSN} = "DBI:Oracle://$Self->{DatabaseHost}:1521/$Self->{Database}"; # # $ENV{ORACLE_HOME} = '/path/to/your/oracle'; # $ENV{NLS_DATE_FORMAT} = 'YYYY-MM-DD HH24:MI:SS'; # $ENV{NLS_LANG} = 'AMERICAN_AMERICA.AL32UTF8'; # ---------------------------------------------------- # # fs root directory # ---------------------------------------------------- # $Self->{Home} = '/opt/otrs'; # ---------------------------------------------------- # # insert your own config settings "here" # # config settings taken from Kernel/Config/Defaults.pm # # ---------------------------------------------------- # # $Self->{SessionUseCookie} = 0; # $Self->{CheckMXRecord} = 0; # Authenticate Users against local OTRS Database # Just for Management: If LDAP Auth fails, we have a # emergency-user database $Self->{'AuthModule1'} = 'Kernel::System::Auth::DB'; $Self->{'AuthModule::DB::CryptType1'} = 'crypt'; ############################################################################## ### Diese Konfigration regelt den Zugriff der Agents aus dem AD ##### ############################################################################## # This is an example configuration for using an MS AD backend $Self->{'AuthModule2'} = 'Kernel::System::Auth::LDAP'; $Self->{'AuthModule::LDAP::Host2'} = 'prtglabdc01.prtglab.local'; $Self->{'AuthModule::LDAP::BaseDN2'} = 'dc=prtglab,dc=local'; $Self->{'AuthModule::LDAP::UID2'} = 'sAMAccountName'; # Check if the user is allowed to auth in a posixGroup # (e. g. user needs to be in a group OTRS_Agents to use otrs) $Self->{'AuthModule::LDAP::GroupDN2'} = 'CN=SG_OTRS_AGENTS,OU=ZZ_Global Security Groups,OU=Hamburg,DC=prtglab,DC=local'; $Self->{'AuthModule::LDAP::AccessAttr2'} = 'member'; $Self->{'AuthModule::LDAP::UserAttr2'} = 'DN'; # Bind credentials to log into AD $Self->{'AuthModule::LDAP::SearchUserDN2'} = 'CN=Systemldap,OU=ZZ_System Accounts,OU=Hamburg,DC=prtglab,DC=local'; $Self->{'AuthModule::LDAP::SearchUserPw2'} = 'MyPassword'; # in case you want to add always one filter to each ldap query, use # this option. e. g. AlwaysFilter => '(mail=*)' or AlwaysFilter => '(objectclass=user)' $Self->{'AuthModule::LDAP::AlwaysFilter2'} = ''; # in case you want to add a suffix to each login name, then # you can use this option. e. g. user just want to use user but # in your ldap directory exists user@domain. #$Self->{'AuthModule::LDAP::UserSuffix2'} = ''; # Net::LDAP new params (if needed - for more info see perldoc Net::LDAP) $Self->{'AuthModule::LDAP::Params2'} = { port => 389, timeout => 120, async => 0, version => 3, }; # Now sync data with OTRS DB $Self->{'AuthSyncModule2'} = 'Kernel::System::Auth::Sync::LDAP'; $Self->{'AuthSyncModule::LDAP::Host2'} = 'prtglabdc01.prtglab.local'; $Self->{'AuthSyncModule::LDAP::BaseDN2'} = 'dc=prtglab, dc=local'; $Self->{'AuthSyncModule::LDAP::UID2'} = 'sAMAccountName'; $Self->{'AuthSyncModule::LDAP::SearchUserDN2'} = 'CN=Systemldap,OU=ZZ_System Accounts,OU=Hamburg,DC=prtglab,DC=local'; $Self->{'AuthSyncModule::LDAP::SearchUserPw2'} = 'MyPassword'; $Self->{'AuthSyncModule::LDAP::UserSyncMap2'} = { # DB -> LDAP UserFirstname => 'givenName', UserLastname => 'sn', UserEmail => 'mail', }; # AuthSyncModule::LDAP::UserSyncInitialGroups # (sync following group with rw permission after initial create of first agent # login) $Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups2'} = [ 'users', ]; ############################################################################## #### Ende Konfiguration Agent-AD-Anbindung ##### ############################################################################## ################################################################################################################################ #------------------------------------------------------------------------------------------------------------------------------# # Customer # #------------------------------------------------------------------------------------------------------------------------------# $Self->{'Customer::AuthModule1'} = 'Kernel::System::CustomerAuth::LDAP'; $Self->{'Customer::AuthModule::LDAP::Host1'} = 'prtglabdc01.prtglab.local'; $Self->{'Customer::AuthModule::LDAP::BaseDN1'} ='dc=prtglab, dc=local'; $Self->{'Customer::AuthModule::LDAP::UID1'} = 'sAMAccountName'; $Self->{'Customer::AuthModule::LDAP::GroupDN1'} = 'CN=SG_OTRS_CUSTOMER,OU=ZZ_Global Security Groups,OU=Hamburg,DC=prtglab,DC=local'; $Self->{'Customer::AuthModule::LDAP::AccessAttr1'} = 'member'; $Self->{'Customer::AuthModule::LDAP::SearchUserDN1'} = 'CN=Systemldap,OU=ZZ_System Accounts,OU=Hamburg,DC=prtglab,DC=local'; $Self->{'Customer::AuthModule::LDAP::SearchUserPw1'} = 'MyPassword'; $Self->{'Customer::AuthModule::LDAP::Params1'} = { port => 389, timeout => 120, async => 0, version => 3, }; #------------------------------------------------------------------------------------------------------------------------------# # LDAP System Users # #------------------------------------------------------------------------------------------------------------------------------# $Self->{'AuthModule1'} = 'Kernel::System::Auth::LDAP'; $Self->{'AuthModule::LDAP::Host1'} = 'prtglabdc01.prtglab.local'; $Self->{'AuthModule::LDAP::BaseDN1'} = 'dc=prtglab, dc=local'; $Self->{'AuthModule::LDAP::UID1'} = 'sAMAccountName'; $Self->{'AuthModule::LDAP::SearchUserDN1'} = 'CN=Systemldap,OU=ZZ_System Accounts,OU=Hamburg,DC=prtglab,DC=local'; $Self->{'AuthModule::LDAP::SearchUserPw1'} = 'MyPassword'; $Self->{'AuthModule::LDAP::Params1'} = { 'async' => '0', 'timeout' => '120', 'version' => '3', 'port' => '389' }; $Self->{'AuthModule::LDAP::Die1'} = 1; #------------------------------------------------------------------------------------------------------------------------------# # UserSyncLDAPMap # #------------------------------------------------------------------------------------------------------------------------------# $Self->{'UserSyncLDAPMap1'} = { 'UserEmail' => 'mail', 'UserFirstname' => 'givenName', 'UserLastname' => 'sn', 'UserLogin' => 'sAMAccountName' }; $Self->{CustomerUser1} = { Name => 'prtglab', Module => 'Kernel::System::CustomerUser::LDAP', Params => { Host => 'prtglabdc01.prtglab.local', BaseDN => 'dc=prtglab, dc=local', SSCOPE => 'sub', UserDN => 'CN=Systemldap,OU=ZZ_System Accounts,OU=Hamburg,DC=prtglab,DC=local', UserPw => 'MyPassword', AlwaysFilter => , }, CustomerKey => 'sAMAccountName', CustomerID => 'mail', CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'], CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'], CustomerUserSearchPrefix => , CustomerUserSearchSuffix => '*', CustomerUserPostMasterSearchFields => ['mail'], CustomerUserNameFields => ['givenname', 'sn'], CustomerUserSearchListLimit => 1000, AdminSetPreferences => 0, Map => [ [ 'UserSalutation', 'Title', 'title', 1, 0, 'var' ], [ 'UserFirstname', 'Firstname', 'givenname', 1, 1, 'var' ], [ 'UserLastname', 'Lastname', 'sn', 1, 1, 'var' ], [ 'UserLogin', 'Login', 'sAMAccountName', 1, 1, 'var' ], [ 'UserEmail', 'Email', 'mail', 1, 1, 'var' ], [ 'UserCustomerID', 'CustomerID', 'mail', 0, 1, 'var' ], [ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var' ], ], }; #------------------------------------------------------------------------------------------------------------------------------# # Firma Ende # #------------------------------------------------------------------------------------------------------------------------------# ################################################################################################################################ # ---------------------------------------------------- # # ---------------------------------------------------- # # data inserted by installer # # ---------------------------------------------------- # # $DIBI$ # ---------------------------------------------------- # # ---------------------------------------------------- # # # # end of your own config options!!! # # # # ---------------------------------------------------- # # ---------------------------------------------------- # } # ---------------------------------------------------- # # needed system stuff (don't edit this) # # ---------------------------------------------------- # use base qw(Kernel::Config::Defaults); # -----------------------------------------------------# 1; [/CODE] Gruss Stefan Am 29. Januar 2015 um 10:29 schrieb Josef1 Penzkofer < josef1.penzko...@rz.uni-regensburg.de>: > ... > < Was funktioniert nicht< > Nach der Anbindung eines AD's für die Agenten konnte ich mich jedoch mit > den lokalen Accounts nicht mehr anmelden. > > > Es können sich nur noch die Benutzer aus dem AD anmelden. Da die lokal > angelegten Accounts im AD nicht existieren, funktioniert die Anmeldung > natürlich nicht mehr. > > Du musst ein zweites Auth-Modul für die OTRS-Datenbank einbauen. Dabei > müssen > weitere Module durchnummeriert werden, also > z.B.: > $Self->{'AuthModule1'} = ... > $Self->{'AuthModule2'} = > > Auszug aus Admin-Manual > Authentication backends for Agents > > DB (Default) > The backend to authenticate agents which is used by default is the OTRS > database. Agents can be added and edited via the agent management > interface in > the Admin page (see Example 11-6 below). > > Example 4.11. Authenticate agents against a DB backend > $Self->{'AuthModule1'} = 'Kernel::System::Auth::DB'; > > Für die Anbindung der Kunden: > Siehe: OTRS Admin-Manual > Abschnitt: Authentication backends for Customers > > LDAP > If you have an LDAP directory with all your customer data, you can use the > LDAP module to authenticate your customers to OTRS (see Example 11-11 > below). > Because this module has only read-access to the LDAP backend, it is not > possible to edit the customer data via the OTRS web interface. > > Example 4.16. Customer user authentication against an LDAP backend > # This is an example configuration for an LDAP auth. backend. > # (make sure Net::LDAP is installed!) > $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP'; > ... > Kannst du aus der > Datei Defaults.pm > Verzeichnis: /otrs/Kernel/Config > rauskopieren und anpassen. > > Gruß > > Sepp > > > >>> OTRS Testing <otrs.testing2...@gmail.com> 29.01.2015 07:39 >>> > Hallo OTRS-Liste, > > ich habe mir gerade die Appliance heruntergeladen und diese (in der > aktuellen Version) installiert. > Ich bin also Neuling im Bereich PRTG, so please be polite :-D > Ich habe vor, folgendes zu Realisieren: > > 1) lokale Anmeldung > die lokale Anmeldung ist ja mit der Installation installiert worden. > hier wollte ich mir einfach einen 2. Benutzer lokal anlegen, welcher die > selben Rechte hat, wie der bei der Installation erstellte Benutzer. Ist > kein Problem, ist gelöst. > > 2) Anbindung eines Microsoft AD's für die "Kunden", basierend auf einer > Gruppenmitgliedschaft, z.B. PRTG_Kunden > > 3) Anbindung eines weiteren Microsoft AD's für die "Agents", basierend auf > einer anderen Gruppenmitgliedschaft (z.B. PRTG_Agenten), welche sich im > SELBEN Active Directory wie die Kunden befinden > > 4) Alternativ, Anbindung eines weiteren AD's für Kunde 2. > > Mir ist wichtig, das die Werte aus dem AD (z.B. für Vorname, Nachname, > Email, Telefonnummer,usw.) mit Synchronisiert werden, so das ich die > Kundenaccounts nicht 2 mal Pflegen muss. > > Auch wäre mir wichtig, Die Queues aufgrund einer weiteren > Gruppenzugehörigkeit auszuwählen. > Ein Kunde hat also generell immer die Sicherheitsgruppe PRTG_Kunden und > eine weitere, welche bestimmt in welcher Queue das Ticket erscheint, z.B. > Queue_Buchhaltung. > > Was funktioniert: > lokale Anmeldung hat funktioniert > Anbindung eines AD's für die Agenten hat funktioniert. > > Was funktioniert nicht? > Nach der Anbindung eines AD's für die Agenten konnte ich mich jedoch mit > den lokalen Accounts nicht mehr anmelden. > > Die Anbindung der Kunden und die Zuordnung als "Kunde" basierend auf der > Gruppenmitgliedschaft ist mir nicht klar. Hat da jemand eine > Beispielkonfiguration für mich? > > Meine Config.PM-Datei sieht zur Zeit so aus: > # This is an example configuration for using an MS AD backend > $Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP'; > $Self->{'AuthModule::LDAP::Host'} = 'domaincontroller01.prtglab.local'; > $Self->{'AuthModule::LDAP::BaseDN'} = 'dc=prtglab,dc=local'; > $Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName'; > > # Check if the user is allowed to auth in a posixGroup > # (e. g. user needs to be in a group OTRS_Agents to use otrs) > $Self->{'AuthModule::LDAP::GroupDN'} = 'CN=SG_OTRS,OU=ZZ_Global > Security Groups,OU=Hamburg,DC=prtglab,DC=local'; > $Self->{'AuthModule::LDAP::AccessAttr'} = 'member'; > $Self->{'AuthModule::LDAP::UserAttr'} = 'DN'; > > # Bind credentials to log into AD > $Self->{'AuthModule::LDAP::SearchUserDN'} = 'CN=ldapread,OU=ZZ_System > Accounts,OU=Hamburg,DC=prtglab,DC=local'; > $Self->{'AuthModule::LDAP::SearchUserPw'} = 'myPassword'; > > # in case you want to add always one filter to each ldap query, use > # this option. e. g. AlwaysFilter => '(mail=*)' or AlwaysFilter => > '(objectclass=user)' > $Self->{'AuthModule::LDAP::AlwaysFilter'} = ''; > > # in case you want to add a suffix to each login name, then > # you can use this option. e. g. user just want to use user but > # in your ldap directory exists user@domain. > #$Self->{'AuthModule::LDAP::UserSuffix'} = ''; > > # Net::LDAP new params (if needed - for more info see perldoc > Net::LDAP) > $Self->{'AuthModule::LDAP::Params'} = { > port => 389, > timeout => 120, > async => 0, > version => 3, > }; > > # Now sync data with OTRS DB > $Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP'; > $Self->{'AuthSyncModule::LDAP::Host'} = > 'domaincontroller01.prtglab.local'; > $Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=prtglab, dc=local'; > $Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName'; > $Self->{'AuthSyncModule::LDAP::SearchUserDN'} = > 'CN=ldapread,OU=ZZ_System Accounts,OU=Hamburg,DC=prtglab,DC=local'; > $Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'myPassword'; > > $Self->{'AuthSyncModule::LDAP::UserSyncMap'} = { > # DB -> LDAP > UserFirstname => 'givenName', > UserLastname => 'sn', > UserEmail => 'mail', > }; > > # AuthSyncModule::LDAP::UserSyncInitialGroups > # (sync following group with rw permission after initial create of > first agent > # login) > $Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups'} = [ > 'users', > ]; > > Für die Anbindung eines weiteren AD's müsste ich doch den gesamten Block > noch mal haben, richtig? > Wie unterschiedet OTRS denn, ob die AD-Anbindung für die Agents oder für > die Kunden ist? > hier: ? $Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP'; > > Die Synchronisation der AD-Felder bzw. die Zuordnung passiert hier? > $Self->{'AuthSyncModule::LDAP::UserSyncMap'} = { > # DB -> LDAP > UserFirstname => 'givenName', > UserLastname => 'sn', > UserEmail => 'mail', > > Vielen Dank > > Stefan Müller > --------------------------------------------------------------------- > OTRS mailing list: otrs-de - Webpage: http://otrs.org/ > Archive: http://lists.otrs.org/pipermail/otrs-de > To unsubscribe: http://lists.otrs.org/mailman/listinfo/otrs-de >
--------------------------------------------------------------------- OTRS mailing list: otrs-de - Webpage: http://otrs.org/ Archive: http://lists.otrs.org/pipermail/otrs-de To unsubscribe: http://lists.otrs.org/mailman/listinfo/otrs-de