LDAP 사용자별 적용 범위

LDAP 사용자별 적용 범위

openldap+를 사용하여 nslcdLDAP 서버에 연결하여 일부 사용자(암호와 대부분의 구성을 여러 장치에서 공유하기를 원하는 사용자)를 인증합니다. 나는 LDAP 서버를 제어하지 않습니다.

그러나 동기화는 사용자가 이미 이중 계정을 갖고 있는 후에 수행되므로 홈 폴더의 이름이 일치하지 않습니다(그리고 스크립트에 하드코딩된 경로가 있을 수 있으므로 이동하는 것은 현명하지 않습니다). 디렉토리를 하드 링크하려고 생각하고 있는데 방법이 있는지 궁금합니다.특정 사용자의 홈 폴더 덮어쓰기, 이는 더 깔끔해 보이고 일반적인 사용 사례가 되어야 할 것 같습니다.

내가 불쾌하다고 생각하는 점은 nslcd.conf하나의 필터(각 map= passwd)만 허용되는 것 같고 map지시문이 단순히 home을 대체한다는 것입니다.모두즉시 사용자.

LDAP 조회 후 개별 항목을 적절하게 "수정"하는 방법이 있습니까? 내가 검색한 내용은 대부분 모든 사용자의 패턴을 대체하거나 쓸모없는 답변을 제공하는 답변이었습니다(예:이것이전 필터를 덮어쓰는 것뿐입니다.)

내가 필요한 것은 다음과 같다고 생각합니다.

filter passwd (&(objectClass=inetOrgPerson)(<redacted>))
# the last part is wishful thinking, not actual syntax
map passwd homeDirectory "<redacted>" if (uid=<redacted>)

저는 LDAP를 처음 접했기 때문에 트랜잭션이 발생하는 순서와 PAM 또는 nslcd가 이 작업을 수행해야 하는지 완전히 이해하지 못할 수도 있습니다. 이것이 이 상황을 적절하게 처리하는 최선의 방법이 아니라는 것을 알고 있지만 그래도 그렇게 할 수 있는지 알고 싶습니다.

답변1

나는 당신이 별도의 재정의를 달성할 수 없다고 생각합니다.지도지침nslcd.conf(5). 이러한 매핑은 전체 passwd 매핑에 적용됩니다. 단, 모듈 이름의 순서에 따라 /etc/nsswitch.conf로컬로 설정할 수 있습니다.비밀번호다른 홈 디렉토리를 가진 항목은 파일에서 더 높은 우선순위를 가집니다./etc/비밀번호.

예시 라인 /etc/nsswitch.conf:

passwd: files ldap

나머지 속성이 일관성을 유지하는지 확인하세요!

IIRC 새 버전SSDCLI 도구가 있습니다sss_커버(8)특정 사용자에 대한 개별 값을 설정할 수 있습니다.

하지만 스스로에게 물어보세요. 정말로 이 혼란을 유지하고 싶나요?

$HOME여러분으로서 저는 먼저 사용자에게 스크립트에서 env var를 사용해야 한다고 말씀드리고 싶습니다 .

관련 정보