Проверка ldap подключения linux

Testing LDAP connectivity with ldapsearch

JIRA and Confluence can do authentication against LDAP (e.g. Active Directory), using the standard Java JNDI library. When you’re having LDAP connectivity problems, the ldapsearch command can sometimes be useful as a means of verifying your LDAP parameters.

Getting and configuring ldapsearch

yum install openldap-clients

Furthermore on CentOS/RHEL (6.4 at least), if you want SSL/TLS to work, you’ll need to edit /etc/openldap/ldap.conf and add the lines:

## http://serverfault.com/questions/437546/centos-openldap-cert-trust-issues TLS_CACERT /etc/pki/tls/certs/ca-bundle.crt

See the mentioned URL for why.

Sample query

If the Use SSL box is checked (typically port 636):

ldapsearch \ -LL -x -z5 \ -H ldaps://tx-dc2.corp.example.com:636 \ -D 'CN=svcLDAPquery,CN=Managed Service Accounts,DC=corp,DC=example,DC=com' \ -w "s3cret" \ -b 'OU=Internal,DC=corp,DC=example,DC=com' \ -s sub \ '(&(objectCategory=Person)(sAMAccountName=*))' \ sAMAccountName displayName givenname sn mail

This displays results in the form:

dn: CN=Jeff Turner,OU=RedRadish,OU=Contractors,OU=Internal,DC=corp,DC=example,DC=com sn: Turner givenName: Jeff displayName: Jeff Turner sAMAccountName: jeff.redradish_ext mail: jeff@redradishtech.com

The query does a subtree ( -s sub ) search for all nodes below OU=Internal,DC=corp,DC=example,DC=com , returning the sAMAccountName (i.e. username), full name, first name and email attributes for each. It is limited to 5 results ( -z5 ).

LDAP’s startTLS extension also allows a connection on port 389 to be upgraded to TLS ( ldapsearch -ZZ ) but I can find no evidence that JIRA/Confluence support this.

If you can see the existing JIRA/Confluence User Directory, the properties map to ldapsearch parameters as follows:

Auto-generating ldapsearch commands

If you’re using PostgreSQL as the database, you can generate the correct ldapsearch command directly from the database. Save this SQL to a file, crowd_to_ldapsearch.sql :

CREATE EXTENSION tablefunc; WITH ldap AS ( select * from crosstab('select directory_id, attribute_name, attribute_value from cwd_directory_attribute order by 1,2', $$values ('ldap.url'), ('ldap.userdn'), ('ldap.password'), ('ldap.basedn'), ('ldap.user.dn'), ('ldap.user.filter'), ('ldap.user.username'), ('ldap.user.displayname'), ('ldap.user.email'), ('ldap.user.firstname'), ('ldap.user.lastname') $$) AS ct(directory_id int, "url" varchar, "userdn" varchar, "password" varchar, "basedn" varchar, "user.dn" varchar, "user.filter" varchar, "user.username" varchar, "user.displayname" varchar, "user.email" varchar, "user.firstname" varchar, "user.lastname" varchar) ) SELECT '# For directory ' || directory_id ||' ldapsearch \ -LL -x -z5 \ -H ' || url || ' \ -D ''' || userdn || ''' \ -w ''' || password || ''' \ -b ''' || CASE "user.dn" WHEN '' THEN basedn ELSE "user.dn" || ',' || basedn END || ''' \ -s sub \ ''' || "user.filter" || ''' ' || "user.username" || ' ' || "user.displayname" || ' ' || "user.firstname" || ' ' || "user.lastname" || ' ' || "user.email" FROM ldap;

and run it against your JIRA database as the ‘postgres’ user (or equivalent superuser able to enable extensions):

Читайте также:  Linux нет папки sbin

The output is one ldapsearch command per LDAP directory configured:

Источник

Настройка и проверка LDAP

А можно поподробнее, пожалуйста: 1. Какими командами можно проверить? 2. И как исправить, сам PID на месте, сервис находится в running. Проверял директорию, права выставлены root.

ldap — это база данных. Содержимое в нём может быть любое. В зависимости от того, что ты хочешь от ldap получить ты сможешь понять как его проверить. Ты тут об этом нам ничего не сказал.

Формулировка абстрактно «проверить корректность работы» совершенно, полностью абсолютно бессмысленная.

И как исправить, сам PID на месте

Тебе русским языком говорят, что
/var/run/nslcd/nslcd.pid
No such file or directory

Но тебе нужно чьё-то время занять, чтобы он тебе сказал что нет, не на месте?

вот тудысь и катитси. хотя нет, ты видать романтик неисправимый, оно уже прикатилось, и давно, а кое кто уже и обои поклеить успел.да.

Testing the Configuration Start the LDAP server using the init script: systemctl start slapd Verify access to the LDAP server with the following command: ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts The expected result is: # extended LDIF # # LDAPv3 # base <> with scope baseObject # filter: (objectclass=*) # requesting: namingContexts # # dn: namingContexts: dc=my-domain,dc=com # search result search: 2 result: 0 Success # numResponses: 2 # numEntries: 1 

Ну вот представь, что он себе авторизацию какого-то сервиса прикручивает, или пытается поднять упавшую.

Вопрос, что ты этой командой проверил? Что у тебя slapd запущен и что-то отвечает? Это типа ты «корректность работы» проверил?)

Это типа ты «корректность работы» проверил?)

ну каков вопрос, такой и ответ)) Я лишь усугубил твоё брюзжание «кудыть катимси», этакая рекурсия без проверки условия. А так — проверка из ряда «оно хоть живое?». Ну а что ещё можно посоветовать то? Ну не хотят они ничего читать, про понимание вообще помолчу, куды бедному крестьянину податься.

Читайте также:  Parallels desktop установка linux

А ты я смотрю мастер за моником рассказывать, что Земля не квадратная. Я пришел на форум, за помощью к профессионалам своего дела т.к. из других источников не нашел подходящих ответов. А ты тут устроил холивар. Сразу складывается о тебе первое впечатление (профессионал, своего дела).

Тебе русским языком говорят, что
/var/run/nslcd/nslcd.pid
No such file or directory

Я не слепой и видел, у меня процесс на месте, также как и права, а не пустая директория.

Спасибо за помощь, а тебе отдельное Удачи по жизни!!

к профессионалам за деньги приходят, я что-то денег от тебя не видел.

к профессионалам за деньги приходят, я что-то денег от тебя не видел.

Ну и профессионального ответа, чет я от тебя и не услышал как бы!

Ответ на уровне джуниор был)

Ошибку эту можно игнорить — это багофича systemd.
На многих юнитах вылезает, не только на nslcd.
Systemd пытается открыть PID-файл до того, как приложение его создаст. На что намекает слово yet в скобочках в самом сообщении: «(yet?)». Если приложение стартует, то не обращай внимания.

Источник

How to test a LDAP connection from a client

How to check the LDAP connection from a client to server. I’m working on the LDAP authentication and this client desktop needs to authenticate via a LDAP server. I can SSH to the LDAP server using LDAP user but When in desktop login prompt, I can’t login. It says Authentication failure. Client machine has Cent OS 6.3 and LDAP server has Cent OS 5.5 LDAP software is Openldap. LDAP servers logs doesn’t even show any messages. So, how to test whether the client can successfully connect to LDAP or not.

As a minor note to this old post, you can do a search (ie ldapsearch) w/o PAM being setup, but to get users to auth via LDAP you will need PAM setup for LDAP. A basic ldapsearch just shows you have the ldap lib and client tools packages installed (ie. yum install openldap openldap-clients) and can reach the LDAP directory server(s). Its a good step in the setup or troubleshooting process.

Читайте также:  Linux куда монтировать диски

3 Answers 3

Use ldapsearch. It will return an error if you cannot query the LDAP Server.

The syntax for using ldapsearch:

ldapsearch -x -LLL -h [host] -D [user] -w [password] -b [base DN] -s sub "([filter])" [attribute list] 
$ ldapsearch -x -LLL -h host.example.com -D user -w password -b"dc=ad,dc=example,dc=com" -s sub "(objectClass=user)" givenName 

Edit: It seems you don’t have pam configured corectlly for gdm/xdm here is an example how to do it: http://pastebin.com/TDK4KWRV

Note for ldapsearch >= 2.5: If using ldapsearch from openldap, the options -h and -p were dropped in version 2.5. Use -H instead:

$ ldapsearch -H ldapuri -D binddn -w password -b searchbase filter

where ldapuri could contain protocol/host/port fields, e.g.: ldaps://ldap.example.org:636

I’m using this command: ldapsearch -h hostname -x -b «dc=example,dc=com» ‘uid=user’ and it returns that user info from the LDAP database. But I’m not able to login to the desktop via LDAP authentication.

If your server doesn’t have any error, then probably is from your client. Please take a look on the auth.log and see what is there related to ldap.

Yes, I guess its the client. Its not even searching for the LDAP server. What should be done to make the client to lookup LDAP server for authentication? I have edited the /etc/pam.d/system-auth. You can check here: pastebin.com/jQjN7cYU

To know if my server and clients settings are correct I use this:

ldapsearch -x -b "uid=username,ou=people,dc=example,dc=com" 

the answer will be something like this on success:

# extended LDIF # # LDAPv3 # base with scope subtree # filter: (objectclass=*) # requesting: ALL # # username, people, example.com dn: uid=username,ou=people,dc=example,dc=com cn: User Name uid: username uidNumber: 1050 loginShell: /bin/bash homeDirectory: /home/webminder gidNumber: 1030 objectClass: posixAccount objectClass: shadowAccount objectClass: person objectClass: inetOrgPerson gecos: User Name sn: User Name # search result search: 2 result: 0 Success # numResponses: 2 # numEntries: 1 

you can use different filters. I only have one server on my network

Источник

Оцените статью
Adblock
detector