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
위의 처음 세 줄을 제거하고 필요한 신뢰를 제공하면 제대로 작동합니다.