Установите LDAP на человечности 14.04

Я пытаюсь настроить OpenLDAP на Сервере Ubuntu 14.04 LTS и Клиенты (Ubuntu 14.04 и/или Linux Mint 17). Это работает с командой su, ssh или в терминале, но это не работает над экраном входа в систему. Сразу после установки я вижу пользователей LDAP на экране входа в систему, но после нескольких минут, только локальные пользователи доступны. /var/log/auth.log дает мне:

Feb 17 21:33:50 PC1 sh: nss_ldap: could not connect to any LDAP server as cn=admin,dc=example,dc=local - Can't contact LDAP server
Feb 17 21:33:50 PC1 sh: nss_ldap: failed to bind to LDAP server ldap://192.168.0.22: Can't contact LDAP server
Feb 17 21:33:50 PC1 sh: nss_ldap: reconnecting to LDAP server...
Feb 17 21:33:50 PC1 sh: nss_ldap: could not connect to any LDAP server as cn=admin,dc=example,dc=local - Can't contact LDAP server
Feb 17 21:33:50 PC1 sh: nss_ldap: failed to bind to LDAP server ldap://192.168.0.22: Can't contact LDAP server
Feb 17 21:33:50 PC1 sh: nss_ldap: reconnecting to LDAP server (sleeping 1 seconds)...
Feb 17 21:33:51 PC1 sh: nss_ldap: could not connect to any LDAP server as cn=admin,dc=example,dc=local - Can't contact LDAP server
Feb 17 21:33:51 PC1 sh: nss_ldap: failed to bind to LDAP server ldap://192.168.0.22: Can't contact LDAP server
Feb 17 21:33:51 PC1 sh: nss_ldap: could not search LDAP server - Server is unavailable
Feb 17 21:33:51 PC1 sh: nss_ldap: could not connect to any LDAP server as cn=admin,dc=example,dc=local - Can't contact LDAP server
Feb 17 21:33:51 PC1 sh: nss_ldap: failed to bind to LDAP server ldap://192.168.0.22: Can't contact LDAP server
Feb 17 21:33:51 PC1 sh: nss_ldap: reconnecting to LDAP server...
Feb 17 21:33:51 PC1 sh: nss_ldap: could not connect to any LDAP server as cn=admin,dc=example,dc=local - Can't contact LDAP server
Feb 17 21:33:51 PC1 sh: nss_ldap: failed to bind to LDAP server ldap://192.168.0.22: Can't contact LDAP server
Feb 17 21:33:51 PC1 sh: nss_ldap: reconnecting to LDAP server (sleeping 1 seconds)...
Feb 17 21:33:52 PC1 sshd[968]: Server listening on 0.0.0.0 port 22.
Feb 17 21:33:52 PC1 sshd[968]: Server listening on :: port 22.
Feb 17 21:33:52 PC1 lightdm: PAM unable to dlopen(pam_kwallet.so): /lib/security/pam_kwallet.so: cannot open shared object file: No such file or directory
Feb 17 21:33:52 PC1 lightdm: PAM adding faulty module: pam_kwallet.so
Feb 17 21:33:52 PC1 lightdm: pam_unix(lightdm-greeter:session): session opened for user lightdm by (uid=0)
Feb 17 21:33:52 PC1 lightdm: PAM unable to dlopen(pam_kwallet.so): /lib/security/pam_kwallet.so: cannot open shared object file: No such file or directory
Feb 17 21:33:52 PC1 lightdm: PAM adding faulty module: pam_kwallet.so
Feb 17 21:33:52 PC1 lightdm: pam_succeed_if(lightdm:auth): requirement "user ingroup nopasswdlogin" not met by user "adminlocal"
Feb 17 21:33:52 PC1 sh: nss_ldap: could not connect to any LDAP server as cn=admin,dc=example,dc=local - Can't contact LDAP server
Feb 17 21:33:52 PC1 sh: nss_ldap: failed to bind to LDAP server ldap://192.168.0.22: Can't contact LDAP server
Feb 17 21:33:52 PC1 sh: nss_ldap: could not search LDAP server - Server is unavailable
Feb 17 21:33:54 PC1 dbus[431]: [system] Rejected send message, 7 matched rules; type="method_return", sender=":1.42" (uid=0 pid=1518 comm="/usr/sbin/dnsmasq --no-resolv --keep-in-foreground") interface="(un$
Feb 17 21:34:04 PC1 dbus[431]: [system] Rejected send message, 7 matched rules; type="method_return", sender=":1.42" (uid=0 pid=1518 comm="/usr/sbin/dnsmasq --no-resolv --keep-in-foreground") interface="(un$
Feb 17 21:34:18 PC1 sshd[1728]: Accepted password for adminlocal from 192.168.0.53 port 61914 ssh2
Feb 17 21:34:18 PC1 sshd[1728]: pam_unix(sshd:session): session opened for user adminlocal by (uid=0)
Feb 17 21:34:44 PC1 sudo: pam_unix(sudo:auth): authentication failure; logname=adminlocal uid=1000 euid=0 tty=/dev/pts/1 ruser=adminlocal rhost=  user=adminlocal
Feb 17 21:34:49 PC1 sudo: adminlocal : TTY=pts/1 ; PWD=/home/adminlocal ; USER=root ; COMMAND=/usr/bin/nano /var/log/nscd.log
Feb 17 21:34:49 PC1 sudo: pam_unix(sudo:session): session opened for user root by adminlocal(uid=0)
Feb 17 21:34:51 PC1 sudo: pam_unix(sudo:session): session closed for user root

Getent passwd показывают мне пользователей LDAP, таким образом, я думаю, что это - проблема lightdm... Я судил несколько руководств без успеха. Есть ли в той же ситуации кто-либо? Что я могу сделать?Большое спасибо. Florent


Шаг для репродуцирования

Зафиксируйте статический IP:

sudo nano /etc/network/interfaces
[…]
auto eth0
iface eth0 inet static
address 192.168.0.22
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.254
dns-nameservers 8.8.8.8

Установка LDAP

sudo apt-get install slapd ldap-utils
sudo dpkg-reconfigure slapd

Нет

example.com

Компания в качестве примера

пароль x2

HDB, нет, Да, Никакой (Значения по умолчанию)

Установите phpldapadmin (попробованный ldif файлами также)

sudo apt-get install phpldapadmin


sudo nano /etc/phpldapadmin/config.php
[line 161]
$config->custom->appearance['hide_template_warning'] = true;
[...]
$servers->setValue('server','host','192.168.0.22');
[...]
$servers->setValue('server','base',array('dc=aldarim,dc=local'));
[...]
$servers->setValue('login','bind_id','cn=admin,dc=aldarim,dc=local');


sudo nano /usr/share/phpldapadmin/lib/TemplateRender.php 
[Line 2469]
$default = $this->getServer()->getValue('appearance','password_hash_custom');

Настройте LDAP

http://192.168.0.22/phpldapadmin

  • Сделайте 2 Дженерика: Организационная Единица => Группы и Люди
  • Под Группами сделайте 2 Posix Group => администратор и сотрудники
  • При Людях сделайте пользователей

Установите ldap клиент на сервере

sudo apt-get install libpam-ldap nscd

ldap://127.0.0.1

dc=example, dc=com

3, Да, Никакой (Значения по умолчанию)

cn=admin, dc=example, dc=com

пароль администратора

nano /etc/nsswitch.conf
[...]
passwd:         compat ldap
group:          compat ldap
shadow:         compat ldap
[...]

sudo reboot

Клиентская конфигурация

sudo apt-get install libpam-ldap nscd

ldap://192.168.0.22

dc=example, dc=com

3, Да, Никакой (Значения по умолчанию)

cn=admin, dc=example, dc=com

пароль администратора

nano /etc/nsswitch.conf
[...]
passwd:         compat ldap
group:          compat ldap
shadow:         compat ldap
[...]

sudo reboot    

Альтернативная клиентская конфигурация:

sudo apt-get install libnss-ldap ldap-auth-config
sudo auth-client-config -t nss -p lac_ldap
sudo pam-auth-update

Те же ошибки...

2
задан 18 February 2015 в 23:10

1 ответ

Проблема заключается в различиях с Вашей конфигурацией. dc должен соответствовать домену example.com, но в phpldapadmin Вы настроили dc как aldarim.local. Вот Ваши настройки:

Конфигурация LDAP:

  • Никакой
  • example.com
  • Example Company
  • пароль x2
  • HDB, нет, Да, Никакой (Значения по умолчанию)

и конфигурация phpldapadmin:

sudo nano /etc/phpldapadmin/config.php
[line 161]
$config->custom->appearance['hide_template_warning'] = true;
[...]
$servers->setValue('server','host','192.168.0.22');
[...]
$servers->setValue('server','base',array('dc=aldarim,dc=local'));
[...]
$servers->setValue('login','bind_id','cn=admin,dc=aldarim,dc=local');

Вот пример того, как домен должен соответствовать даже при использовании IP-адреса: См. это учебное руководство , которое дает Вам идею, что можно ввести что-либо, что Вы хотите, но эти два соответствия настроек MUST.

Изменение Ваши LDAP конфигурируются, чтобы использовать aldarim.local и назвать компанию aldarim, и необходимо быть в порядке. Или измените следующие строки для использования example.com

$servers->setValue('server','base',array('dc=example,dc=com'));
[...]
$servers->setValue('login','bind_id','cn=admin,dc=example,dc=com');

В любом случае, они должны соответствовать.

1
ответ дан 18 February 2015 в 23:10
  • 1
    @sysadmincrispy там являются, конечно, учебными руководствами как это: tutorialspoint.com/python , но большинство этих учебных руководств запускается с обширного текстового объяснения. Ужасный. Я запустил с очень легкого учебного руководства, но к сожалению я не могу больше находить его. Лучший способ (для меня) состоял в том, чтобы установить простую цель для сценария и экстенсивно использовать ТАК, чтобы узнать, как достигнуть этого. Как только первый запуск сделан, все становится легче. Отметьте по тому, как сценарий был записан в Python, но мог также быть в ударе; многие команды являются системными вызовами, выполняемыми через subprocess. – Jacob Vlijm 28 June 2016 в 20:12

Другие вопросы по тегам:

Похожие вопросы: