신뢰할 수 있는 도메인 AD 자격 증명을 사용하여 Ubuntu 서버에 로그인할 수 없습니다.

신뢰할 수 있는 도메인 AD 자격 증명을 사용하여 Ubuntu 서버에 로그인할 수 없습니다.

AD 도메인에 Ubuntu 22.04 서버가 가입되어 있습니다. 서버가 속한 AD 도메인에 연결된 신뢰할 수 있는 도메인의 자격 증명을 사용하여 로그인할 수 있어야 합니다. 신뢰할 수 있는 도메인 자격 증명을 사용하여 로그인할 수 없습니다. 다음 패키지가 설치됩니다.

winbind, krb5 사용자, sssd-ad, 삼바

도메인은 domain1.org 및 domain2.local입니다. domain1.org는 내 서버가 가입된 도메인이고 domain2.local은 신뢰할 수 있는 도메인입니다.

domain1.org 자격 증명을 사용하여 로그인할 수 있으며 다음 명령이 모두 작동합니다.

ping domain1.org
ping domain2.local

id [email protected]
id [email protected]
wbinfo -i [email protected]
wbinfo -i [email protected]

wbinfo -n [email protected]
net cache flush
wbinfo --sid-to-uid <SID returned in the wbinfo -n command>

domain2.local 자격 증명을 사용하여 이 Ubuntu 서버에 로그인할 수 없습니다. 나에게는 이것과 거의 같은 방식으로 설정된 Rocky Linux 서버가 있는데,domain2.local 자격 증명을 사용하여 로그인할 수 있습니다.

Samba, sssd, nsswitch 및 krb5 구성은 다음과 같습니다.

/etc/samba/smb.conf

[global]
workgroup = DOMAIN1
realm = DOMAIN1.ORG
netbios name = MYTEST
security = ads
server signing = mandatory
client signing = mandatory
client lanman auth = no
min protocol = SMB2
client min protocol = SMB2
client max protocol = SMB3

restrict anonymous = 2
os level = 0
preferred master = no
local master = no
domain master = no

kerberos method = secrets and keytab

load printers = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes
template homedir = /home/%D/%U
template shell = /bin/bash

map acl inherit = yes
nt acl support = yes
inherit acls = Yes
acl group control = yes

log level = 10
max log size = 10
log file = /var/log/samba/samba.log

winbind use default domain = yes
idmap config * : range = 1100-65534
idmap config * : backend = tdb
idmap config * : backend = autorid
idmap config * : range = 1000000-999999999

/etc/sssd/conf.d/sssd.conf

[sssd]
config_file_version = 2
domains = DOMAIN1.ORG
reconnection_retries = 3
services = nss, pam, ssh, autofs

[domain/DOMAIN1.ORG]
#debug_level = 9
ad_hostname = mytest.domain1.org
id_provider = ad
auth_provider = ad
access_provider = ad
override_homedir = /home/%d/%u
default_shell = /bin/bash
cache_credentials = True
krb5_store_password_if_offline = True
krb5_realm = DOMAIN1.ORG
fallback_homedir = /home/%u/%d
ad_domain = domain1.org
use_fully_qualified_names = False
case_sensitive = False
ad_gpo_ignore_unreadable = True
dyndns_update = true
dyndns_refresh_interval = 43200
ad_update_samba_machine_account_password = True

[nss]
filter_users = root

[pam]
reconnection_retries = 3
offline_credentials_expiration = 2
offline_failed_login_attempts = 3
offline_failed_login_delay = 5

/etc/nsswitch.conf

passwd:         files winbind systemd sss
group:          files winbind systemd sss
shadow:         files sss
gshadow:        files

hosts:          files resolve dns
networks:       files

protocols:      db files
services:       db files sss
ethers:         db files
rpc:            db files

netgroup:       nis sss
automount:      sss

/etc/krb5.conf

[logging]
   default = FILE:/var/log/krb5.log

[libdefaults]
   default_realm = DOMAIN1.ORG
   dns_lookup_realm = true
   dns_lookup_kdc = true
   ticket_lifetime = 24h
   renew_lifetime = 7d
   forwardable = true
   udp_preference_limit = 1

모든 의견 및/또는 도움에 감사드립니다. 감사해요!

답변1

첫 번째,

apt-get purge sssd

sssd및 을 실행하는 것은 의미가 없으며 신뢰 winbind해야 합니다 winbind.

둘째, smb.conf잘못된 내용을 수정하세요.

winbind use default domain = yes
idmap config * : range = 1100-65534
idmap config * : backend = tdb
idmap config * : backend = autorid
idmap config * : range = 1000000-999999999

마지막 두 줄은 위의 두 줄보다 우선하며 idmap 백엔드 winbind use default domain = yes와 함께 사용할 수 없습니다. autorid위의 처음 세 줄을 제거하고 필요한 신뢰를 제공하면 제대로 작동합니다.

관련 정보