Joining Ubuntu to an Active Directory Domain
Hello, my dear little blog. I've got a new note for you on how to join Ubuntu (tested on 18.04 and 20.04) to an Active Directory domain.
As usual, I haven't invented anything new. It's all out there on the internet already, but now it will be here too. I won't explain why you'd need this, because if you want to do it, you most likely know perfectly well why.
Preparation
First, enable the universe packages. If they aren't enabled yet:
sudo tee -a /etc/apt/sources.list <<EOF
deb http://us.archive.ubuntu.com/ubuntu/ bionic universe
deb http://us.archive.ubuntu.com/ubuntu/ bionic-updates universe
EOF
Now update the apt indexes:
sudo apt -y update
Change the host name:
sudo hostnamectl set-hostname linux-utils.vitaliy.org
and check it - type hostnamectl and get:
Static hostname: linux-utils.vitaliy.org
Icon name: computer-vm
Chassis: vm
Machine ID: c6eccece18fa4459b843deae2cf5a2aa
Boot ID: 545b62e60e0d4a72bfc86024bd2e2adc
Virtualization: microsoft
Operating System: Ubuntu 20.10
Kernel: Linux 5.8.0-48-generic
Architecture: x86-64
Making sure DNS is configured correctly
Remove systemd-resolve and configure /etc/resolv.conf ourselves.
sudo systemctl disable systemd-resolved
sudo systemctl stop systemd-resolved
sudo unlink /etc/resolv.conf
sudo mcedit /etc/resolv.conf
Put in something like this:
search vitaliy.org
nameserver 192.168.2.1
nameserver 192.168.2.2
Just use your own domain name and DNS servers.
Installation
Install the required packages:
sudo apt -y install realmd libnss-sss libpam-sss sssd sssd-tools adcli samba-common-bin oddjob oddjob-mkhomedir packagekit
Joining the domain
Check that we can "see" our domain:
$ sudo realm discover vitaliy.org
vitaliy.org
type: kerberos
realm-name: VITALIY.ORG
domain-name: vitaliy.org
configured: kerberos-member
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
login-formats: %U
login-policy: allow-permitted-logins
permitted-logins:
permitted-groups: Domain Admins
Join the domain:
sudo realm join -U Administrator vitaliy.org
And right away check that everything is fine:
$ realm list
vitaliy.org
type: kerberos
realm-name: VITALIY.ORG
domain-name: vitaliy.org
configured: kerberos-member
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
login-formats: %U
login-policy: allow-permitted-logins
Enable automatic creation of user home directories:
sudo bash -c "cat > /usr/share/pam-configs/mkhomedir" <<EOF
Name: activate mkhomedir
Default: yes
Priority: 900
Session-Type: Additional
Session:
required pam_mkhomedir.so umask=0022 skel=/etc/skel
EOF
Run:
sudo pam-auth-update
and enable mkhomedir.
Then restart sssd and check that it works:
sudo systemctl restart sssd
systemctl status sssd
Configuring access
Now allow individual users or groups to log on to the computer:
sudo realm permit user1@example.com
sudo realm permit -g 'Domain Users'
You can allow everyone:
sudo realm permit --all
or deny everyone:
sudo realm deny --all
That's it.
Free bonus:
Members of the Domain Admins group can be added to sudoers. That doesn't happen by default.
Here's how:
sudo mcedit /etc/sudoers.d/domain_admins
Put the following there:
%domain\ admins ALL=(ALL) ALL
Now that's really it!
Only registered users can leave a comment.
Sign in or register to leave a comment.