How to Domain Join a Ubuntu 22.04 LTS Server to Active Directory
Connecting a Linux Server to Windows Active Directory
This guide will show you how to join an Ubuntu 22.04 LTS server to an existing Windows Active Directory domain.
Prerequisites
- A functional Active Directory on the same network.
- Active Directory server added as DNS server.
Install WinBind
sudo apt -y install winbind libpam-winbind libnss-winbind krb5-config samba-dsdb-modules samba-vfs-modulesConfigure Winbind
Edit the /etc/samba/smb.conf file:
sudo vim /etc/samba/smb.confOn line 29, change the workgroup to the name of your Active Directory domain and add the following lines:
[global]
workgroup = YOUR_DOMAIN_NAME
realm = YOUR_DOMAIN_NAME.LOCAL
security = ads
idmap config * : backend = tdb
idmap config * : range = 3000-7999
idmap config YOUR_DOMAIN_NAME : backend = rid
idmap config YOUR_DOMAIN_NAME : range = 10000-999999
template homedir = /home/%U
template shell = /bin/bash
winbind use default domain = true
winbind offline logon = falseEdit the /etc/nsswitch.conf file:
sudo vim /etc/nsswitch.confOn line 7, add winbind as shown below:
passwd: files systemd winbind
group: files systemd winbindEdit the /etc/pam.d/common-session file:
sudo vim /etc/pam.d/common-sessionAdd the following line to the end of the file if you need to automatically create a home directory at initial login:
session optional pam_mkhomedir.so skel=/etc/skel umask=077Update the DNS setting to refer to your Active Directory server:
Edit the /etc/netplan/01-netcfg.yaml file:
sudo vim /etc/netplan/01-netcfg.yamlAdd the following lines:
nameservers:
addresses: [AD_SERVER_IP_ADDRESS]Apply the network configuration changes:
sudo netplan applyConnect to Active Directory
sudo net ads join -U AdministratorTest the Connection
To show a list of AD users:
wbinfo -uThe output should be a list of AD users. To show domain information:
net ads infoThe output should show the AD server details and the domain information.
Troubleshooting
If you encounter issues, consider the following:
Can you ping the AD server?
Are you using the AD server as the DNS server?
Is the time on the Ubuntu server synchronized with the AD server’s time?
Verify that the Ubuntu server has a unique hostname on the network.
Check the firewall on both the Ubuntu server and the AD server.
Check the logs on the Ubuntu server for any errors related to Winbind or Samba.
Verify that the DNS records for the AD server are correct and can be resolved from the Ubuntu server.
Make sure that the Ubuntu server has a valid IP address configuration and can communicate with the AD server over the network.
Check the permissions on the
/etc/krb5.keytabfile.
These troubleshooting steps should help you resolve any issues you encounter when joining an Ubuntu 22.04 LTS server to an Active Directory domain.
References
- Ubuntu 20.04 LTS : Samba : Winbind : Server World
- Ubuntu netplan documentation
- Microsoft Active Directory documentation
- Ubuntu documentation on domain joining
- Samba official documentation
- Red Hat documentation on troubleshooting Winbind
- Ubuntu documentation on troubleshooting Samba
These references were used to create this guide and may be helpful for additional information or troubleshooting steps.