Скрипт ввода debian 8 в Ldap(домен)

Как быстро ввести рабочую станцию или сервер на debian(ubuntu) в LDAP??Как быстро ввести рабочую станцию или сервер на debian(ubuntu) в LDAP??

Сегодня столкнулся с проблемой ввода серверов в ldap. Их 100 и нам стало неохота проделывать всю работу вручную поэтому мы и решили написать скрипт для этого дела.

Исходные данные:

Общий вид cn=admin,dc=domain,dc=com

Домен domain

Админ – admin

Пароль – PassWord

Группа с павами sudo для клиентов – main

Ip адрес ldap сервера – 10.1.9.106

Сам скрипт ввода в Ldap

#!/bin/bash
###Скрипт ввода в ldap - на вопросы всё же придется ответить
rm /etc/libnss-ldap.conf
wait 3
touch /etc/libnss-ldap.conf
echo "base dc=domain,dc=local" >> /etc/libnss-ldap.conf
echo "uri ldap://10.1.9.106" >> /etc/libnss-ldap.conf
echo "ldap_version 3" >> /etc/libnss-ldap.conf
echo "rootbinddn cn=admin,dc=domain,dc=local" >> /etc/libnss-ldap.conf
rm   /etc/pam_ldap.conf
touch /etc/pam_ldap.conf
echo "base dc=domain,dc=local" >> /etc/pam_ldap.conf
echo "uri ldap://10.1.9.106" >> /etc/pam_ldap.conf
echo "ldap_version 3" >> /etc/pam_ldap.conf
echo "rootbinddn cn=admin,dc=domain,dc=local" >> /etc/pam_ldap.conf
apt-get install libnss-ldap libpam-ldap nscd -y --force-yes
dpkg-reconfigure libnss-ldap
rm /etc/ldap/ldap.conf
echo "BASE    dc=domain,dc=local" >> /etc/ldap/ldap.conf
echo "URI     ldap://10.1.9.106" >> /etc/ldap/ldap.conf
echo "TLS_CACERT      /etc/ssl/certs/ca-certificates.crt" >>  /etc/ldap/ldap.conf
rm -r /etc/nsswitch.conf
touch  /etc/nsswitch.conf
echo "passwd: files ldap" >> /etc/nsswitch.conf
echo "group: files ldap" >> /etc/nsswitch.conf
echo "shadow: files ldap" >> /etc/nsswitch.conf
echo "gshadow:        files" >> /etc/nsswitch.conf
echo "hosts:          files dns" >> /etc/nsswitch.conf
echo "networks:       files" >> /etc/nsswitch.conf
echo "protocols:      db files" >> /etc/nsswitch.conf
echo "services:       db files" >> /etc/nsswitch.conf
echo "ethers:         db files" >> /etc/nsswitch.conf
echo "rpc:            db files" >> /etc/nsswitch.conf
echo "netgroup:       nis" >> /etc/nsswitch.conf
rm /etc/pam.d/common-auth
touch  /etc/pam.d/common-auth
echo "auth    [success=2 default=ignore]      pam_unix.so nullok_secure" >> /etc/pam.d/common-auth
echo "auth    [success=1 default=ignore]      pam_ldap.so use_first_pass" >> /etc/pam.d/common-auth
echo "auth    requisite                       pam_deny.so" >> /etc/pam.d/common-auth
echo "auth    required                        pam_permit.so" >> /etc/pam.d/common-auth
rm /etc/pam.d/common-password
touch /etc/pam.d/common-password
echo "password        [success=2 default=ignore]      pam_unix.so obscure sha512" >> /etc/pam.d/common-password
echo "password        [success=1 user_unknown=ignore default=die]     pam_ldap.so use_authtok try_first_pass" >> /etc/pam.d/common-password
echo "password        requisite                       pam_deny.so" >> /etc/pam.d/common-password
echo "password        required                        pam_permit.so" >> /etc/pam.d/common-password
rm /etc/pam.d/common-session-noninteractive
touch /etc/pam.d/common-session-noninteractive
echo "session [default=1]                     pam_permit.so" >> /etc/pam.d/common-session-noninteractive
echo "session requisite                       pam_deny.so" >> /etc/pam.d/common-session-noninteractive
echo "session required                        pam_permit.so" >> /etc/pam.d/common-session-noninteractive
echo "session required        pam_unix.so" >> /etc/pam.d/common-session-noninteractive
echo "session optional                        pam_ldap.so" >> /etc/pam.d/common-session-noninteractive
echo "session required	pam_mkhomedir.so skel=/etc/skel/ umask=0022"	>> /etc/pam.d/common-session
echo "%main   ALL=(ALL:ALL) ALL" >> /etc/sudoers
rm /etc/libnss-ldap.secret
touch /etc/libnss-ldap.secret
echo "password" >> /etc/libnss-ldap.secret
service nscd restart

PROFIT!! даже перезагрузка не нужна.
Разобрать в коде очень просто, если вы имеете некоторые представления о bash.

Один комментарий к “Скрипт ввода debian 8 в Ldap(домен)

  1. Здравствуйте, подскажите данным способом можно получить список юзеров из ad windows?

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

Ваш адрес email не будет опубликован.

 

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.