CentOS 7 LDAP SSH Ошибка "не удается найти имя для идентификатора группы"

Я использую экземпляр CentOS 7 VirtualBox. У меня настроена аутентификация LDAP через сервер Active Directory нашей компании.

Примечание. На сервере AD НЕ установлены расширения Unix.

То, что я вижу, это: Когда я вхожу через SSH, я получаю ошибку:

$ ssh first.last@myserver.com@linuxboxip
first.last@myserver.com@linuxboxip's password:
/usr/bin/id: cannot find name for group ID 1316

Я могу войти, и ошибка, кажется, не вызывает проблемы, но раздражает

идентификатор группы 1316 относится к цифровому идентификатору, назначенному моему пользователю AD:

$ getent passwd first.last@myserver.com
first.last@myserver.com:*:1316:1316:First Last:/home/first.last@myserver.com:/bin/bash

Тем не мение:

$ getent group 1316

ничего не возвращает

Если добавлено вручную, ошибка исчезнет:

sudo groupadd -g 1316 1316
sudo usermod -a -G 1316 1316

Должен быть параметр или процесс, который мне не хватает, который отображает сгенерированные идентификаторы групп или создает новые группы, но я не нахожу его.

Мысли?

Настроить:

я бегу CentOS 7-1611(64bit) от osboxes.org

У меня установлен nss-pam-ldapd. Службы nslcd и nscd настроены на запуск при запуске.

/etc/nsswitch.conf был отредактирован для добавления ldap:

passwd:     files ldap sss
shadow:     files ldap sss
group:      files ldap sss
hosts:      files ldap dns myhostname
bootparams: nisplus [NOTFOUND=return] files ldap
ethers:     files ldap
netmasks:   files ldap
networks:   files ldap
protocols:  files ldap
rpc:        files ldap
services:   files ldap sss
netgroup:   files ldap sss
automount:  files ldap sss
aliases:    files ldap nisplus

/etc/pam.d/password-auth редактируется так:

auth        required      pam_env.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        sufficient    pam_ldap.so minimum_uid=1000 use_first_pass
auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success
auth        required      pam_deny.so

account     required      pam_unix.so
account     sufficient    pam_ldap.so minimum_uid=1000
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 1000 quiet
account     required      pam_permit.so

password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password    sufficient    pam_ldap.so minimum_uid=1000 try_first_pass
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
-session     optional      pam_systemd.so
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so
session     optional      pam_ldap.so minimum_uid=1000
session     required      pam_mkhomedir.so skel=/etc/skel umask=0022

/etc/pam.d/system-auth редактируется так:

auth        required      pam_env.so
auth        sufficient    pam_fprintd.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth      sufficient  pam_ldap.so minimum_uid=1000 use_first_pass
auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success
auth        required      pam_deny.so

account     required      pam_unix.so
account   sufficient  pam_ldap.so minimum_uid=1000
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 1000 quiet
account     required      pam_permit.so

password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password  sufficient  pam_ldap.so minimum_uid=1000 try_first_pass
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
-session     optional      pam_systemd.so
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so
session   optional    pam_ldap.so minimum_uid=1000

/etc/nslcd.conf отредактировано:

uid nslcd
gid nslcd

uri ldap://myserver.com/

base dc=myserver,dc=com

binddn CN=My Name,OU=Users,OU=DV,DC=myserver,DC=com

bindpw PASSWORDHERE

# Alternative mappings for Active Directory
pagesize 1000
referrals off
idle_timelimit 800
filter passwd (&(objectClass=user)(!(objectClass=computer)))
map    passwd uid           userPrincipalName
map    passwd uidNumber     objectSid:CorrectSID
map    passwd gidNumber     objectSid:CorrectSID
map    passwd homeDirectory "/home/$userPrincipalName"
map    passwd gecos         displayName
map    passwd loginShell    "/bin/bash"
filter group (objectClass=group)
map    group gidNumber      objectSid:CorrectSID
ssl no

/etc/openldap/ldap.conf отредактирован, чтобы добавить:

URI ldap://myserver.com/
BASE dc=myserver,dc=com 

2 ответа

Убедитесь , что значение ldap_search_base в sssd.conf содержит вашу группу dn.

Попробуйте эти сопоставления:

/etc/nslcd.conf

# Active Directory Mapping  

pagesize 1000  
referrals off  

filter  passwd  (&(objectClass=user)(objectClass=person)(!(objectClass=computer)))  
map     passwd  uidNumber       objectSid:<your DomainSID>  
map     passwd  gidNumber       primaryGroupID  
map     passwd  uid     sAMAccountName  
map     passwd  homeDirectory   "/home/$sAMAccountName"  
map     passwd  gecos   displayName  

filter  shadow  (&(objectClass=user)(objectClass=person)(!(objectClass=computer)))  
map     shadow  uid     sAMAccountName  
map     shadow  shadowLastChange        pwdLastSet  

filter  group   (objectClass=group)  
map     group   gidNumber       objectSid:<your DomainSID>  
Другие вопросы по тегам