Join in Active Directory Domain2023/04/24 |
Join in Windows Active Directory Domain with Realmd.
This tutorial needs Windows Active Directory Domain Service in your local network.
This example shows to configure on the environment below.
|
|||||||||||
[1] | Install some required packages. |
root@dlp:~# apt -y install realmd sssd sssd-tools libnss-sss libpam-sss adcli samba-common-bin oddjob oddjob-mkhomedir packagekit
|
[2] | Join in Windows Active Directory Domain. |
nameservers:
addresses: [10.0.0.100]
root@dlp:~#
netplan apply
# discover Active Directory domain root@dlp:~# realm discover SRV.WORLD srv.world type: kerberos realm-name: SRV.WORLD domain-name: srv.world configured: no server-software: active-directory client-software: sssd required-package: sssd-tools required-package: sssd required-package: libnss-sss required-package: libpam-sss required-package: adcli required-package: samba-common-bin # join in Active Directory domain root@dlp:~# realm join SRV.WORLD Password for Administrator: # AD Administrator password
# verify it's possible to get an AD user info or not root@dlp:~# id Serverworld@srv.world uid=1065401103(serverworld@srv.world) gid=1065400513(domain users@srv.world) groups=1065400513(domain users@srv.world),1065401153(esx admins@srv.world),1065400512(domain admins@srv.world),1065400572(denied rodc password replication group@srv.world) # add to the end if need (create Home Dir automatically when initial login) session optional pam_mkhomedir.so skel=/etc/skel umask=077 # verify it's possible to login as an AD user or not root@dlp:~# exit
logout Ubuntu 23.04 dlp.srv.world ttyS0 dlp login: serverworld@srv.world Password: Welcome to Ubuntu 23.04 (GNU/Linux 6.2.0-20-generic x86_64) ..... ..... Creating directory '/home/serverworld@srv.world'. serverworld@srv.world@dlp:~$ # logined |
[3] | If you'd like to omit domain name for AD user, configure like follows. |
root@dlp:~#
vi /etc/sssd/sssd.conf # line 16 : change use_fully_qualified_names = False
root@dlp:~#
root@dlp:~# systemctl restart sssd id Administrator uid=1259200500(administrator) gid=1259200513(domain users) groups=1259200513(domain users),1259200572(denied rodc password replication group),1259200512(domain admins),1259200518(schema admins),1259200520(group policy creator owners),1259200519(enterprise admins) |
[4] |
AD users UID/GID are asigned randomly, but if you'd like to asign fixed UID/GID, configure like follows.
Add UNIX attributes to AD accounts first, refer to here.
Next, change SSSD settings.
This example is based on the environment AD accounts have [uidNumber/gidNumber] attributes. |
root@dlp:~#
vi /etc/sssd/sssd.conf # line 17 : change ldap_id_mapping = False
# add to the end ldap_user_uid_number = uidNumber ldap_user_gid_number = gidNumber # clear cache and restart sssd root@dlp:~# rm -f /var/lib/sss/db/* root@dlp:~# systemctl restart sssd
id serverworld uid=2000(serverworld) gid=100(users) groups=100(users) |