Openldap проверка пароля

При написании скрипта восстановления openldap из резервной копии понадобилось проверить правильность ввода пароля. Это можно сделать с помощью команды ldapwhoami:

ldapwhoami -x -D "cn=admin,dc=site,dc=ru" -W

-x - использовать простую аутентификацию вместо SASL;
-D - binddn;
-W - запрос пароля;
-w - указать пароль в строке команды (понадобится для скрипта).

При неверном вводе пароля будет выведен код ошибки 49:

ldap_bind: Invalid credentials (49)

При корректном пароле - код 0:

dn:cn=admin,dc=site,dc=ru

Код завершения команды - 0 в явном виде не выводится.
Код возврата последней команды хранится в специальной переменной $?.
Его (также как и предыдущий 49) можно получить выполнив:

$?

Пример bash скрипта для проверки пароля openldap:

#!/bin/bash
#Ввод и проверка пароля
echo "Введите пароль для доступа к LDAP:"
read pass
ldapwhoami -x -D "cn=admin,dc=site,dc=ru" -w $pass
res=$(echo $?)
if (( $res > 0 )); then
echo "Неверный пароль!"
exit 1
else
echo "Пароль верен!"
exit 0
fi
#EOF
Метки: . Закладка Постоянная ссылка.

Добавить комментарий

Ваш e-mail не будет опубликован.

*