SSSD가 실행 중이지만 UID/GID가 잘못되었습니까?

SSSD가 실행 중이지만 UID/GID가 잘못되었습니까?

Active Directory 계정을 사용하기 위해 서버에 설치 했고 sssd연결할 수 있지만 AD 사용자의 UID가 매우 잘못된 것을 발견했습니다. sssd 머신) . 파일 /etc/sssd/sssd.conf이 보이는데...

[sssd]
domains = ucera.local
config_file_version = 2
services = nss, pam

[domain/ucera.local]
ad_domain = co.local
krb5_realm = CO.LOCAL
realmd_tags = manages-system joined-with-samba
cache_credentials = False
id_provider = ad
krb5_store_password_if_offline = False
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = False
fallback_homedir = /home/%u
access_provider = ad
default_domain_suffix = co.local

왜 이런 일이 발생하는지 아시나요? 디버깅 제안이 있나요?


나는 또한 내가때때로AD 사용자를 사용하여 컴퓨터에 로그인하는 데 문제가 있습니다. 예를 들어. 서버에 ssh를 시도하면 내 비밀번호가 거부되지만 su해당 사용자를 루트로 ssh로 연결하고 해당 AD 사용자로 서버에 직접 ssh할 수 있습니다(서버가 해당 사용자를 소유하고 있다는 것을 인식하지 못하는 것과 같습니다. 해당 사용자로 입력 하여 "경고"를 받았습니다 su. (관련이 있는지 확실하지 않음)

답변1

기반으로기사이것을 발견하고 문제가 해결된 것 같습니다. sssd.conf 파일은 이제 다음과 같습니다.

[sssd]
domains = ucera.local
config_file_version = 2
services = nss, pam

[domain/ucera.local]
ad_domain = co.local
krb5_realm = CO.LOCAL
realmd_tags = manages-system joined-with-samba
cache_credentials = False
id_provider = ad
krb5_store_password_if_offline = False
default_shell = /bin/bash
ldap_id_mapping = False
ldap_user_uid_number = uidNumber
ldap_user_gid_number = gidNumber
ldap_group_gid_number = gidNumber
use_fully_qualified_names = False
fallback_homedir = /home/%u
access_provider = ad
default_domain_suffix = co.local

다양성:

  1. ldap_id_mapping = FalseobjectSID주요 수정 사항은 AD 사용자 속성을 기반으로 계산하는 대신 AD posix ID를 사용하는 것이라고 생각합니다.
  2. 또한 설정을 추가 ldap_..._...id_number = ...하고 AD에서 사용자의 해당 속성 필드에 설정했습니다. 파트 (1)을 완료한 후에는 머신의 UID가 변경되지 않습니다. sssd.conf의 유일한 차이점은 이 문제가 없는 sssd를 사용하는 다른 서버와 비교하여 변경 사항(1)입니다. 제 생각에는 다른 컴퓨터에 이미 이 UI가 있으므로 ldap_id_mapping = FalseAD 사용자가 해당 컴퓨터에 처음 로그인하면 자동으로 AD posix UID를 얻게 된다는 것입니다. 이 엉망인 서버에서는 UID가 잘못 설정되었으므로 AD 속성을 uidNumber명시 적으로 적용해야 했습니다.gidNumber

그런 다음 SSD 서비스를 다시 시작하십시오.


AD와 SSSD에 대한 경험이 별로 없으므로, 제가 잘못 이해한 것이 있으면 댓글로 알려주세요.

관련 정보