문제

LDAP를 사용하여 Active Directory 서버에 연결하는 네트워크 사용자를 인증하는 Selinux 클라이언트가 있습니다. 우리의 기계는 "Untethered"를 작동해야하므로 NSCD에서 캐시 그룹 및 Passwd 정보를 사용해야합니다.

여기에 문제가 있습니다. Active Directory 서버에서 그룹 정보를 변경하면 클라이언트에 로그인하면 해당 사용자의 캐시가 존재하는 경우 LDAP는 서버를 무시하고 캐시 된 데이터 만 사용하는 것으로 보입니다. 업데이트를받을 수있는 유일한 방법은 PassWD 캐시를 무효화하는 것입니다.

/etc/nsswitch.conf의 상당 부분 :

    passwd: file ldap cache
    group:  file ldap cache
    shadow: file ldap cache

감사.

업데이트: 달리기를 알아 냈습니다 strace getent passwd /etc/nsswitch.conf가 읽히기 전에 NSCD 캐시를 확인하므로 NSS 구성은 중요하지 않습니다.

Update 2: 오늘 NSS_UPDATEDB와 함께 작동하여 작동하는지 확인하십시오. 지금까지는 기쁨이 없습니다 이 howto 우리가해야 할 일처럼 보입니다.

도움이 되었습니까?

해결책 2

우리는 NSS_UPDATEDB를 사용하여 그룹과 PassWD 데이터베이스를 로컬로 캐시하여 마침내 해결했습니다. 그런 다음 NSCD를 끕니다.

PAM_EXEC 모듈을 PAM.D 목록에 추가하고이를 사용하여 로컬 캐시가 최신 상태인지 확인하기 전에 NSS_UPDATEDB를 실행하는 데 사용합니다.

다른 팁

Active Directory에서 결과를 캐시하지 않으려면 NSCD를 끄거나 캐시 수명 시간을 몇 분으로 설정해야합니다 (편집 /etc/nscd.conf). 거주 시간은 Passwd의 경우 10 분이고 그룹의 시간은 10 분이라고 생각합니다.

다음 명령으로 NSCD 캐시를 쉽게 플러시 할 수 있습니다.

sudo nscd -i passwd
sudo nscd -i group

주어진 명령으로 NSCD 캐시를 플러시 한 후에 변경된 LDAP 데이터가 표시됩니다.

자세한 내용은 다음을 참조하십시오. http://sysadmin-notepad.blogspot.rs/2013/05/how-to-flush-nscd-cade-linux.html

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top