На sssd-клиенте
authselect выбрать sssd --force
systemctl включить --now sssd
[root@ldap-sssd ~]# id adam
uid=16859(адам) gid=100(пользователи) groups=100(пользователи)
[root@ldap-sssd ~]# su adam
bash-4.4$ по Адаму
Пароль:
su: Ошибка аутентификации
баш-4.4$
Если я побегу
sssctl пользователь проверяет Адама
я вижу это
Пользователь: Адам
действие: акт
служба: системная аутентификация
Результат поиска пользователя SSSD nss:
- имя пользователя: Адам
- идентификатор пользователя: 16859
- идентификатор группы: 100
- gecos: адам
- домашний каталог: /home/adam
- оболочка: /bin/bash
Результат поиска пользователя SSSD InfoPipe:
- имя: Адам
- uidNumber: 16859
- номер гида: 100
- gecos: адам
- домашний каталог: /home/adam
- loginShell: /bin/bash
тестирование pam_acct_mgmt
pam_acct_mgmt: Отказано в доступе
Среда PAM:
- нет окружения -
на ldapmaster я подтверждаю, что пароль правильный
ldapsearch -x -H ldap://ldapmaster \
-D uid=adam,ou=Пользователи,DC=srv,DC=мир \
-w 1234 \
-b uid=адам,ou=пользователи,DC=srv,DC=мир \
-s основание \
"(объектный класс=*)"
[root@ldapmaster ~]# очистить
-s base "(objectclass=*)"4 -b uid=adam,ou=Users,DC=srv,DC=world
# расширенный LDIF
#
# LDAPv3
# base <uid=adam,ou=Users,DC=srv,DC=world> с областью действия baseObject
# фильтр: (objectclass=*)
# запрос: ВСЕ
#
# Адам, Пользователи, srv.world
DN: uid=adam,ou=Users,dc=srv,dc=world
класс объекта: верхний
класс объекта: учетная запись
класс объекта: posixAccount
класс объекта: shadowAccount
Сп: Адам
ИД: Адам
uidNumber: 16859
номер_гида: 100
homeDirectory: /home/adam
логинShell: /bin/bash
gecos: Адам
теньластчанже: 0
теньМакс.: 0
теньПредупреждение: 0
пароль пользователя:: e1NTSEF9OVcvdStLUTM3Y1F2dE5hVGR2WktuSDZSMm0zRGlUckw=
# результат поиска
поиск: 2
результат: 0 успех
# числоОтветов: 2
# количество записей: 1
конфиги sssd клиента
nsswitch.conf
[root@ldap-sssd ~]# grep "^[^#;]" /etc/nsswitch.conf
пароль: файлы sss systemd
группа: файлы sss systemd
сетевая группа: файлы sss
автомонтирование: файлы sss
услуги: файлы sss
тень: файлы sss
hosts: файлы dns myhostname
псевдонимы: файлы
эфиры: файлы
тень: файлы
сети: файлы днс
протоколы: файлы
открытый ключ: файлы
РПЦ: файлы
ldap.conf
[root@ldap-sssd ~]# grep "^[^#;]" /etc/openldap/ldap.conf
БАЗА dc=srv,dc=мир
URI ldap://ldapmaster
SASL_NOCANON на
URI ldap://ldapmaster
БАЗА dc=srv,dc=мир
sssd.conf
[root@ldap-sssd ~]# grep "^[^#;]" /etc/sssd/sssd.conf
[СССД]
сервисы = nss, pam, sudo
config_file_version = 2
домены = по умолчанию
[судо]
[нсс]
[пэм]
offline_credentials_expiration = 60
[домен/по умолчанию]
ldap_id_use_start_tls = Ложь
cache_credentials = Истина
ldap_search_base = dc=srv,dc=мир
id_provider = лдап
auth_provider = ldap
chpass_provider = ldap
провайдер_доступа = ldap
sudo_provider = ldap
ldap_uri = ldap://ldapmaster
ldap_default_bind_dn = cn=менеджер,ou=пользователи,dc=srv,dc=мир
ldap_default_authtok_type = пароль
ldap_default_authtok = 1234
ldap_search_timeout = 50
ldap_network_timeout = 60
ldap_access_order = фильтр
ldap_access_filter = ((objectClass=posixAccount))
Сценарий установки ldapmaster
#https://www.server-world.info/en/note?os=CentOS_7&p=openldap
yum -y установить серверы openldap openldap-clients firewalld mlocate man --nobest
обновленоb
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
чаун лдап. /var/lib/ldap/DB_CONFIG
systemctl запустить slapd
systemctl включить slapd
кошка <<EOF > chrootpw.ldif
# указываем сгенерированный выше пароль для раздела "olcRootPW"
DN: olcDatabase={0}config,cn=config
тип изменения: изменить
добавить: olcRootPW
олкрутпарв: 1234
EOF
ldapadd -Y ВНЕШНИЙ -H ldapi:/// -f chrootpw.ldif
ldapadd -Y ВНЕШНИЙ -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
ldapadd -Y ВНЕШНИЙ -H ldapi:/// -f /etc/openldap/schema/nis.ldif
ldapadd -Y ВНЕШНИЙ -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
кошка <<EOF > chdomain.ldif
DN: olcDatabase={1}монитор,cn=config
тип изменения: изменить
заменить: olcAccess
olcAccess: {0}к * по dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth"
прочитано dn.base="cn=Manager,dc=srv,dc=world" прочитано * нет
DN: olcDatabase={2}mdb,cn=config
тип изменения: изменить
заменить: olcSuffix
olcSuffix: dc=srv,dc=мир
DN: olcDatabase={2}mdb,cn=config
тип изменения: изменить
заменить: olcRootDN
olcRootDN: cn=менеджер,dc=srv,dc=мир
DN: olcDatabase={2}mdb,cn=config
тип изменения: изменить
добавить: olcRootPW
олкрутпарв: 1234
DN: olcDatabase={2}mdb,cn=config
тип изменения: изменить
добавить: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange by
dn="cn=Manager,dc=srv,dc=world" написать анонимно авторизоваться самостоятельно написать * none
olcAccess: {1}к dn.base="" по * read
olcAccess: {2}в * от dn="cn=Manager,dc=srv,dc=world" запись от * чтение
EOF
ldapmodify -Y ВНЕШНИЙ -H ldapi:/// -f chdomain.ldif
cat <<EOF > на основедомена.ldif
# замените на свое доменное имя для раздела "dc=***,dc=***"
DN: dc=srv,dc=мир
класс объекта: верхний
объектный класс: dcObject
класс объекта: организация
о: мир серверов
постоянный ток: срв
DN: cn=менеджер,dc=srv,dc=мир
objectClass: организационная роль
Сп: менеджер
описание: Диспетчер каталогов
DN: ou=Пользователи,dc=srv,dc=мир
objectClass: организационная единица
класс объекта: верхний
или: Пользователи
DN: ou=группы,dc=srv,dc=мир
objectClass: организационная единица
класс объекта: верхний
или: Группы
EOF
ldapadd -x -w 1234 -D cn=менеджер,dc=srv,dc=мир -f на основедомена.ldif
systemctl запустить firewalld
systemctl включить firewalld
firewall-cmd --add-service=ldap --постоянный
брандмауэр-cmd --перезагрузить
кошка <<EOF > adam.ldif
DN: uid=adam,ou=Users,dc=srv,dc=world
класс объекта: верхний
класс объекта: учетная запись
класс объекта: posixAccount
класс объекта: shadowAccount
Сп: Адам
ИД: Адам
uidNumber: 16859
номер_гида: 100
homeDirectory: /home/adam
логинShell: /bin/bash
gecos: Адам
Пароль пользователя: 1234
теньластчанже: 0
теньМакс.: 0
теньПредупреждение: 0
EOF
ldapadd -x -w 1234 -D "cn=Manager,dc=srv,dc=world" -f adam.ldif
ldappasswd -s 1234 -w 1234 -D "cn=Manager,dc=srv,dc=world" -x "uid=adam,ou=Users,dc=srv,dc=world"
Справочники
https://www.server-world.info/en/note?os=CentOS_7&p=openldap
https://kifarunix.com/configure-sssd-for-openldap-authentication-on-centos-8/