ldap slapd ldapscripts

Настройка

Установка

apt install slapd -y

Вылезет окошко где попросят поставить пароль для ldap

Первоначальная настройка

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

Это позволит настроить доменное имя, имя организации и пароль админа

dpkg-reconfigure slapd
  • NO
  • Написать домен
  • Указать организацию
  • Ввести пароль
  • NO
  • YES

Установка доменного имени по умолчанию

  • в последующем потребуется вводить много команд, этот пункт немного облегчит жизнь

Файл /etc/ldap/ldap.conf

# example.com меняем на свое например vm13.local
BASE dc=example,dc=com
 
# ldap.example.com это должен будет быть домен адресс
URI ldap://ldap.example.com ldap://ldap-provider.example.com:666
 
# можно сократить
URI ldap://example.com
 
# его можно заменить на ip
URI ldap://192.168.1.1

Настроить /etc/hosts или DNS добавить записи для в URI

Проверка domain-name

```bash
# что за что отвечает в душе нечаю

ldapsearch -x -LLL -s base -b "" namingContexts

Настройка без smbldap

Установка OU

  1. Перед созданием групп и пользователей нужно создать OU например: Groups, Users, Computers
    1. Для этого нужно создать файл например test.ldif и вписать в него следующее
dn: ou=Groups,dc=example,dc=com
objectClass: organizationalUnit
ou: Groups
 
# добавить ещё 2 таких с Users и Computers
# ОБЯЗАТЕЛЬНО! переда добавлением нового блока сделать отступ в 1 пустую строку
2. Прописать команду для добавления **ou**
# если есть такая команда
sldapadd -l test
 
# иначе
ldapadd -x -D cn=admin,dc=example,dc=com -W -f ou.ldif
3. Чтобы проверить можно использовать следующую команду 
slapcat

Настройка ldapscripts

ldapscripts

Чтобы мучаться лучше настроить шаблоны для команд

apt install ldapscripts -y
  1. Отредактировать файл /etc/ldapscripts/ldapscripts.conf привести к следующему ввиду:
# vi /etc/ldapscripts/ldapscripts.conf
 
# Указываем где сервер
SERVER = localhost 
 
# имя админа, и доменное имя
BINDDN = "cn=admin,dc=example,dc=com"
 
# пароль админа, нужно будет в этот файл вписать пароль
BINDPWDFILE = "/etc/ldapscripts/ldapscripts.passwd" 
 
# Может выдавать ошибки "Invalid credentials" если такие есть нужно добавить
# и при этом убрать BINDPWDFILE, можно просто закометировать
# При использовании будут выскакивать предупреждения что это не безопастно
BINDPWD="secret"
 
# доменное имя 
SUFFIX = "dc=example,dc=com"
 
 
# OU для груп, пользователей и машин
GSUFFIX = "ou=Groups" 
USUFFIX = "ou=Users"
MSUFFIX = "ou=Computers"
 
# С каких id будут начинаться записи
GIDSTART = 10000
UIDSTART = 10000 
MIDSTART = 10000
  1. Если нет файла “/etc/ldapscripts/ldapscripts.passwd”
# secret заменить на пароль для базы данных
echo 'secret' > /etc/ldapscripts/ldapscripts.passwd 
 
# Обезапасить файл
chmod 400 /etc/ldapscripts/ldapscripts.passwd

Использование ldapsripts

ldapscripts

  1. Добавление групп
ldapaddgroup group
  1. Удаление группы
ldapdeletegroup group

  1. Добавление пользователей
ldapadduser user group
  1. Удаление пользователя
ldapdeleteuser user
  1. Изменение пароля пользователя
ldapsetpasswd user
 
# потом 2 раза ввести пароль
  1. Добавление пользователей в группу
ldapaddusertogroup user group
  1. Удаление пользователя из группы
ldapdeleteuserfromgroup user group

Файл

Пользователь

  • dn: uid=teacher4,ou=People,dc=vm13,dc=local -
    • uid = ID пользователя для обращения к нему
    • ou=People - В какую группу входит пользователь
  • objectClass: account - Даём понять что это аккаунт
  • objectClass: posixAccount - Используется для аутентификации PAM
  • cn: Teacher4 - Имя пользователя
  • uid: teacher4 - ID
  • uidNumber: 1114 - ID в БД
  • gidNumber: 7000 - ID группы в которой он будет, здесь необходимо указать нужный GID
  • homeDirectory: /home/teacher4 - Домашний каталог пользователя, где будет хранится инфа о нём
  • loginShell: /bin/bash - Оболочка
  • gecos : Anara Undasynovna - Full Name пользователя
  • description: Teacher Account - Описание