Jika Anda seorang administrator sistem dan bertanya-tanya bagaimana cara menambahkan desktop dan server Linux ke Linux Active Directory (AD) Anda saat ini, maka Anda telah datang ke tempat yang tepat. Menambahkan klien baru ke AD menyederhanakan manajemen pengguna di antara beberapa mesin klien, terutama saat Anda mengelola ratusan komputer di lingkungan Anda.
Dalam tutorial ini, Anda akan belajar cara menambahkan sistem Linux (Ubuntu 20.04, Linux Mint, dan Server Ubuntu) ke Linux Samba Active Directory. Melakukannya memungkinkan pengguna Samba Active Directory untuk masuk ke mesin klien Linux dengan direktori home sendiri, shell default, dan hak akses sudo root (jika diperlukan).
Siap? Langsung masuk!
Prasyarat
Tutorial ini akan menjadi demonstrasi langsung. Jika Anda ingin mengikuti, pastikan Anda memiliki persyaratan berikut:
- Linux Desktop Machine – Tutorial ini menggunakan Desktop Ubuntu 20.04, tetapi Anda dapat menggunakan distro lain seperti Linux Mint dan Ubuntu Server.
- Pengguna non-root dengan
sudo
hak istimewa. - Direktori Aktif Samba (AD) yang berfungsi penuh.
Menyiapkan Penyelesai DNS Permanen
Sebelum Anda dapat menambahkan klien Linux ke Direktori Aktif Samba, Anda harus memastikan nama domain Direktori Aktif Samba dapat dijangkau dari mesin klien. Bagaimana? Dengan menetapkan alamat IP Samba AD sebagai DNS resolver default untuk setiap mesin klien di /etc/resolv.conf
file konfigurasi.
1. Buka terminal Anda, dan jalankan systemctl
perintah di bawah ini untuk menonaktifkan dan menghentikan systemd-resolved
melayani. Melakukannya memastikan klien Linux menggunakan resolver DNS statis dan permanen.
Administrator menentukan penyelesaian DNS permanen ini dan tidak digantikan oleh layanan ketiga seperti systemd-resolved
.
# disable and stop systemd-resolved service
sudo systemctl disable --now systemd-resolved
2. Selanjutnya, jalankan unlink
perintah di bawah ini untuk menghapus file symlink (/etc/resolv.conf
). Anda akan mengganti file ini di langkah berikutnya. # remove symlink file /etc/resolv.conf sudo unlink /etc/resolv.conf
# remove symlink file /etc/resolv.conf
sudo unlink /etc/resolv.conf
3. Sekarang, buat file baru dengan nama /etc/resolv.conf
menggunakan editor pilihan Anda dan mengisi file dengan konfigurasi berikut.
Konfigurasi di bawah ini menetapkan resolver DNS utama dan fallback.
# Samba AD as main DNS resolver
nameserver 172.16.1.10
# fall-back DNS resolver using Cloudflare
nameserver 1.1.1.1
# hostname lookup for domain example.lan
search example.lan
4. Jalankan chattr
perintah di bawah ini untuk membuat file /etc/resolv.conf
tidak dapat diubah untuk memastikan mesin klien selalu menggunakan Samba AD sebagai resolver DNS default. Perintah ini juga mencegah penimpaan dari layanan lain seperti NetworkManager.
# making the file `/etc/resolv.conf` immutable
sudo chattr +i /etc/resolv.conf
# remove immutable attribute
sudo chattr -i /etc/resolv.conf
5. Terakhir, jalankan ping
perintah di bawah ini untuk memverifikasi koneksi ke nama domain Samba AD dc1.example.lan
dan example.lan
.
# ping to AD server dc1.example.an and example.lan
ping -c3 dc1.example.lan
ping -c3 example.lan
Jika koneksi Anda berhasil, Anda akan menerima pesan balasan dari server AD, dan domain dc1.example.lan
dan example.lan
akan diselesaikan ke alamat IP Samba AD.
Menyiapkan Chrony sebagai Klien NTP
Setelah Anda mengonfigurasi DNS resolver, Anda sekarang akan menyiapkan Chrony untuk menyinkronkan waktu antara mesin klien ke server Samba AD. Jika ada perbedaan waktu (maksimal lima menit) antara mesin klien dan server AD, klien tidak dapat mengakses semua sumber daya di server AD.
1. Jalankan perintah di bawah ini untuk menginstal chrony
ke klien Linux Anda.
# install chrony
sudo apt install chrony -y
2. Sekarang, edit konfigurasi Chrony default (/etc/chrony/chrony.conf
) di editor pilihan Anda dan tambahkan konfigurasi berikut.
bindcmdaddress
nilai harus alamat IP klien. Layanan Chrony akan berjalan pada alamat IP ini. Sedangkan server
opsi adalah tempat Anda menambahkan nama domain Samba AD Anda sebagai server NTP.
# run Chrony as NTP client on the IP address
bindcmdaddress 172.16.1.85
# time synchronize to the Samba AD dc1.example.lan
server dc1.example.lan iburst
3. Selanjutnya, jalankan systemctl
perintah di bawah ini untuk memulai ulang chronyd
layanan dan verifikasi bahwa status layanan adalah active (running)
. # restart chronyd service sudo systemctl restart chronyd # verify status chronyd service sudo systemctl status chronyd
# restart chronyd service
sudo systemctl restart chronyd
# verify status chronyd service
sudo systemctl status chronyd
Seperti yang Anda lihat di bawah, chronyd
layanannya adalah active (running)
dan enabled
. Klien Chrony NTP sekarang akan mulai secara otomatis saat startup sistem.
4. Terakhir, jalankan perintah di bawah ini untuk memverifikasi bahwa layanan Chrony pada mesin klien terhubung ke server Samba AD NTP. chronyc tracking
chronyc tracking
Seperti yang Anda lihat di bawah, layanan Chrony pada klien Linux terhubung ke server Samba AD NTP dengan alamat IP 172.16.1.10 .
Menggabungkan Klien Linux ke Direktori Aktif Samba
Anda sekarang telah mengonfigurasi Chrony di klien Linux. Tetapi bagaimana Anda menambahkan mesin klien ini ke Samba Active Directory? Mulailah dengan menginstal dan mengonfigurasi realmd
dan sssd
layanan untuk menambahkan klien Linux ke server Samba AD.
1. Jalankan apt
perintah di bawah ini untuk menyegarkan indeks paket Anda. Perintah ini memastikan Anda menginstal paket versi terbaru dari repositori.
sudo apt update
Selanjutnya, jalankan perintah di bawah ini untuk menginstal realmd
dan sssd
layanan dengan semua paket tambahan yang dibutuhkan. realmd
service digunakan dengan layanan Linux yang mendasarinya, seperti sssd
, untuk bergabung dengan Direktori Aktif Samba.
sudo apt install -y realmd sssd sssd-tools samba-common krb5-user packagekit samba-common-bin samba-libs adcli
Masukkan ranah default (dalam huruf besar) untuk Direktori Aktif Samba, seperti yang ditunjukkan di bawah ini. Anda akan menggunakan ranah default ini untuk otentikasi Kerberos.
Dalam contoh ini, domain ranah default untuk Samba AD adalah EXAMPLE.LAN .
3. Buat file baru /etc/realmd.conf
menggunakan editor pilihan Anda dan tambahkan konfigurasi berikut. Konfigurasi di bawah melakukan hal berikut:
- Menangani perilaku domain dan pengguna Samba AD
- Menentukan koneksi klien ke server AD
- Menentukan apakah akan menggunakan penginstalan otomatis layanan tambahan atau tidak.
- Konfigurasi khusus untuk
example.lan
Domain iklan.
[users]
# define Samba AD users behavior
# define default home directory and shell for Samba AD users
default-home = /home/%U
default-shell = /bin/bash
[active-directory]
# define realmd connection to the Samba AD
# you can use `sssd` or `winbind` for realmd to join Samba AD
# os-name can used as an identifier for client
default-client = sssd
os-name = Linux Ubuntu and Mint Desktop
[service]
# disable automati install for additional realmd service
automatic-install = no
[example.lan]
# define behavior of Samba AD `example.lan`
# disable fully-qualified-names so you can use a username to identify Samba users
# automatic-id-mapping to yes will automatically generate UID and GID numbers
# user-principal to yes will automatically create UserPrincipalName for the client machine
# manage-system to yes to enabled realmd to manage client machine
fully-qualified-names = no
automatic-id-mapping = yes
user-principal = yes
manage-system = yes
Jalankan kinit
perintah di bawah ini untuk mengautentikasi koneksi domain (EXAMPLE.LAN
) ke layanan Kerberos menggunakan pengguna default (administrator
).
Masukkan kata sandi untuk administrator
Pengguna Samba AD saat diminta, seperti yang ditunjukkan di bawah ini.
Menambahkan klien baru ke Samba AD memerlukan penggunaan
administrator
pengguna.
# authenticate to Kerberos server on EXAMPLE.LAN using administrator
sudo kinit [email protected]
# verify authentication and print detailed Kerberos tickets for administrator user
sudo klist
5. Sekarang, jalankan realm join
perintah di bawah ini untuk menambahkan klien Linux ke Samba AD (example.lan
). Ganti UbuntuMintDesktop
dengan nama pengguna utama (UPN) yang unik. Setiap klien/mesin harus memiliki UPN yang berbeda.
# joining/adding Linux Ubuntu/Mint to Samba AD example.lan
# --verbose to get full logs from the process
# --user-principal will automatically set the UserPrincipalName for this machine
# --unattended will run the realm command without prompting for a password prompt,
# because you've already authenticated through the Kerberos ticket
sudo realm join --verbose example.lan --user-principal=UbuntuMintDesktop/[email protected] --unattended
Anda akan mendapatkan Mesin yang berhasil didaftarkan di ranah pesan ketika proses selesai. Pada titik ini, Anda telah berhasil menambahkan klien Linux Anda ke Samba Active Directory.
6. Selanjutnya buka /etc/sssd/sssd.conf
file konfigurasi di editor pilihan Anda.
Tambahkan baris berikut, yang mengubah kontrol akses objek kebijakan grup (GPO) default menjadi permissive
, dan tetapkan nilai access_provider
ke ad
. ad
nilai menunjukkan autentikasi default untuk sssd
service adalah Direktori Aktif.
Selama penulisan ini, Desktop dan Server Ubuntu 20.04 tidak akan mengizinkan pengguna AD untuk masuk saat
ad_gpo_access_control
disetel keenforcing
(nilai default). Jadi, Anda mengubahad_gpo_access_control
nilai kepermissive
.Namun di Linux Mint, Anda masih dapat masuk menggunakan pengguna AD, meskipun
ad_gpo_access_control
ada dienforcing
modus.
# change default GPO access control to permissive
ad_gpo_access_control = permissive
7. Jalankan pam-auth-update
perintah di bawah ini untuk mengubah konfigurasi PAM. Perintah ini mengaktifkan modul PAM (pam_mkhomedir.so ). Mengaktifkan modul PAM secara otomatis membuat direktori home untuk pengguna Samba AD (hanya jika direktori home tidak tersedia).
# modify PAM configuration
pam-auth-update
Pilih Buat direktori beranda saat masuk opsi di layar terminal dan pilih Oke untuk mengonfirmasi.
Tekan tombol SPACE untuk mengaktifkan opsi, dan tekan tombol TAB untuk memindahkan menu kursor.
8. Jalankan realm list
perintah di bawah ini untuk memverifikasi koneksi Anda ke Samba Active Directory.
# Checking connected AD
realm list
Jika koneksi Anda berhasil, Anda akan menerima koneksi AD terperinci, seperti yang ditunjukkan di bawah ini.
Di bawah ini, Anda dapat melihat mesin desktop Ubuntu/Mint terhubung ke Samba Active Directory (example.lan ) sebagai (kerberos-member ).
9. Sekarang, jalankan id
perintah di bawah ini untuk memeriksa pengguna Samba AD.
# checking Samba AD user `alice`
id alice
Jika penginstalan Anda berhasil, Anda akan menerima uid
secara acak dan gid
untuk pengguna Samba alice
. Dalam contoh ini, Anda dapat melihat pengguna alice dibuat dan tersedia di Samba AD.
10. Selain itu, jalankan perintah berikut untuk mengatur editor teks default Anda dan buka (visudo
) /etc/sudoers
file di editor default Anda. Anda selalu dapat mengubah editor teks pilihan Anda, tetapi editor default adalah nano
untuk demo ini.
# Sets default editor to nano
export EDITOR=nano
# Opens the /etc/sudoers file in the default editor
visudo
Tambahkan pengguna Samba AD Anda ke sudoers
file menggunakan format berikut, simpan perubahan dan tutup editor. Dengan melakukannya, Anda dapat mengaktifkan sudo
hak istimewa untuk pengguna Samba (jika Anda membutuhkan pengguna untuk menjalankan sudo).
# add Samba user `alice` to sudoers
alice ALL=(ALL:ALL) ALL
11. Terakhir, jalankan perintah berikut di desktop Ubuntu ke reboot
sistem untuk menerapkan konfigurasi baru.
Namun untuk Linux Mint dan server Ubuntu, Anda masih perlu menambahkan beberapa konfigurasi tambahan, yang akan dibahas di bagian berikut.
sudo reboot
Menyiapkan LightDM untuk Direktori Aktif Samba
Konfigurasi LightDM default untuk proses login manual menggunakan nama pengguna dan sandi dinonaktifkan di desktop Linux Mint. Anda akan mengubah konfigurasi LightDM untuk mengaktifkan proses login manual sehingga pengguna Samba AD dapat login ke mesin Mint Desktop.
Buka LightDM (/etc/lightdm/lightdm.conf ) file konfigurasi di editor pilihan Anda dan isi konfigurasi berikut di bawah [Seat:*]
bagian.
greeter-show-manual-login=true
opsi di bawah ini mengaktifkan proses login manual pada LightDM, sedangkan allow-guest=false
opsi menonaktifkan login untuk pengguna tamu.
# enable manual login
greeter-show-manual-login=true
# disable guest login
allow-guest=false
Sekarang, jalankan perintah di bawah ini untuk memulai ulang desktop Linux Mint Anda untuk menerapkan konfigurasi baru.
sudo reboot
Menyiapkan Otentikasi Kerberos untuk Layanan SSH
Anda harus mengaktifkan otentikasi Kerberos pada layanan SSH di lingkungan server. Melakukannya memungkinkan pengguna AD masuk ke server. Bagaimana? Dengan mengedit file konfigurasi SSH.
Buka SSH (/etc/ssh/sshd_config
) file konfigurasi di editor pilihan Anda.
Batalkan komentar pada opsi berikut dan atur nilainya ke yes
:
KerberosAuthentication
– Mengaktifkan otentikasi Kerberos.KerberosTicketCleanup
– Secara otomatis menghancurkan tiket Kerberos saat logout
Sekarang, jalankan perintah di bawah ini untuk memulai ulang server Anda dan menerapkan konfigurasi baru.
sudo reboot
Masuk ke Mesin Linux menggunakan Pengguna Samba AD
Sekarang Anda telah menyelesaikan dan menambahkan klien Linux ke Samba AD. Tetapi bagaimana Anda dapat memverifikasi bahwa pengguna Samba AD dapat masuk ke klien Linux tersebut? Anda dapat menentukan pengguna dan kata sandi pada layar masuk Manajer Tampilan pada klien Desktop Linux. Sedangkan untuk server Ubuntu, Anda dapat terhubung melalui protokol SSH yang aman.
Masuk ke Ubuntu, Mint, dan server Ubuntu terlihat berbeda satu sama lain. Tapi jangan khawatir, Anda akan melihat cara masuk ke setiap OS menggunakan pengguna Samba AD di demo ini.
Masuk ke Desktop Ubuntu Linux
Dengan Linux Ubuntu Desktop, login menggunakan pengguna Samba AD sama seperti biasanya login dengan akun pengguna.
1. Boot klien desktop Ubuntu Anda, klik tombol Tidak terdaftar? pada layar login GDM Ubuntu untuk login dengan pengguna yang berbeda.
2. Selanjutnya, masukkan pengguna Samba AD Anda di [email protected]
format. Contoh ini menggunakan pengguna Samba AD alice(example.lan) , seperti yang ditunjukkan di bawah ini.
3. Masukkan kata sandi pengguna Samba AD Anda (alice) dan tekan ENTER untuk masuk.
Setelah login, Anda akan melihat Desktop Ubuntu default seperti screenshot di bawah ini, di mana pengguna Samba AD alice
berhasil login.
Anda dapat melihat di bawah bahwa modul PAM (pam_mkhomedir.so.
) secara otomatis membuat direktori home pengguna. Sementara hak akses sudo root dikonfigurasi melalui file sudoers
.
Masuk ke Desktop Linux Mint
Untuk desktop Linux Mint, login terlihat sedikit berbeda dari cara Anda login di desktop Ubuntu,
Klik tombol Login, masukkan pengguna dan sandi Anda, seperti yang ditunjukkan di bawah ini, lalu tekan ENTER untuk login.
Sekarang Anda akan melihat Desktop Linux Mint untuk pengguna Samba AD Anda seperti di bawah ini.
Masuk ke Server Ubuntu
Tidak seperti dua OS pertama, Anda akan masuk ke server Ubuntu melalui lingkungan baris perintah menggunakan ssh
perintah.
Jalankan ssh
perintah di bawah ini dari komputer lain untuk terhubung ke server menggunakan pengguna Samba AD mengikuti [email protected]_ip
format, seperti yang ditunjukkan di bawah ini.
# connect to SSH using AD user
ssh [email protected]
Ketik yes
untuk menambahkan identitas sidik jari server dan memasukkan kata sandi untuk pengguna Samba AD Anda ke server Ubuntu.
Seperti yang Anda lihat di bawah, direktori home pengguna dibuat secara otomatis, dan shell default untuk pengguna Samba AD adalah Bash.
Kesimpulan
Sepanjang tutorial ini, Anda telah belajar cara menambahkan klien Linux (Desktop dan Server) ke Samba Active Directory (AD) menggunakan layanan SSSD dan Realm. Selain itu, Anda telah mempelajari cara mengaktifkan Kerberos Authentication pada layanan SSH untuk server Linux.
Sekarang, bagaimana Anda memanfaatkan fungsionalitas Samba Active Directory? Mungkin coba tambahkan server lain sebagai Domain Controller (DC) untuk bergabung dengan Samba AD saat ini? Penyiapan ini menyediakan dukungan replikasi, redundansi, dan penyeimbangan beban pada AD Anda. Hasilnya, Anda dapat menambahkan grup klien lain ke Samba AD.