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
다양성:
ldap_id_mapping = False
objectSID
주요 수정 사항은 AD 사용자 속성을 기반으로 계산하는 대신 AD posix ID를 사용하는 것이라고 생각합니다.- 또한 설정을 추가
ldap_..._...id_number = ...
하고 AD에서 사용자의 해당 속성 필드에 설정했습니다. 파트 (1)을 완료한 후에는 머신의 UID가 변경되지 않습니다. sssd.conf의 유일한 차이점은 이 문제가 없는 sssd를 사용하는 다른 서버와 비교하여 변경 사항(1)입니다. 제 생각에는 다른 컴퓨터에 이미 이 UI가 있으므로ldap_id_mapping = False
AD 사용자가 해당 컴퓨터에 처음 로그인하면 자동으로 AD posix UID를 얻게 된다는 것입니다. 이 엉망인 서버에서는 UID가 잘못 설정되었으므로 AD 속성을uidNumber
명시 적으로 적용해야 했습니다.gidNumber
그런 다음 SSD 서비스를 다시 시작하십시오.
AD와 SSSD에 대한 경험이 별로 없으므로, 제가 잘못 이해한 것이 있으면 댓글로 알려주세요.