Saya mencoba bergabung dengan Ubuntu 16.04 ke domain Windows (direktori aktif) menggunakan realmd + sssd. Pada dasarnya saya mengikuti posting ini yang bekerja dengan cukup baik dan saya dapat bergabung dengan server saya dan berhasil mengotentikasi sebagai pengguna AD. Namun ada dua bagian yang hilang dalam integrasi:
- Daftarkan nama host server di DNS
- Gunakan sssd-sudo untuk otorisasi pengguna
Daftarkan nama host server di DNS
Seperti yang disebutkan saya berhasil bergabung dengan AD dengan menggunakanrealm join --user=dpr MYDOMAIN.INT --install=/
:
[email protected] ~ # realm list
mydomain.int
type: kerberos
realm-name: MYDOMAIN.INT
domain-name: mydomain.int
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: %[email protected]
login-policy: allow-realm-logins
Namun, meskipun berhasil bergabung, server saya tidak diketahui oleh mesin lain di domain menggunakan nama hostnya ip-172-28-5-174.mydomain.int
. Saya menemukan dokumentasi ini yang menyebutkan dyndns_update
pengaturan di file sssd.conf.
Karena saya menggunakan ranah. Konfigurasi sssd dihasilkan secara otomatis dengan mengeluarkan perintah join. File konfigurasi yang dihasilkan terlihat seperti ini:
[sssd]
domains = mydomain.int
config_file_version = 2
services = nss, pam
[domain/mydomain.int]
ad_domain = mydomain.int
krb5_realm = MYDOMAIN.INT
realmd_tags = manages-system joined-with-adcli
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%[email protected]%d
access_provider = ad
Itu saya entah bagaimana perlu menambahkan dyndns_update = True
ke file yang dihasilkan ini. Tapi bagaimana?
Gunakan sssd-sudo untuk otorisasi pengguna
Selain itu saya ingin membuat sssd untuk membaca konfigurasi Sudo saya dari AD. Saya pikir ini dapat dicapai dengan menggunakan sssd-sudo tetapi ini perlu diaktifkan/dikonfigurasi di file sssd.conf juga dengan menambahkan sudo
ke layanan sssd dan gunakan sudo_provider = ldap
untuk domain saya. Sekali lagi saya tidak tahu bagaimana melakukan ini dengan realme.
Pada dasarnya saya ingin file konfigurasi yang saya buat terlihat seperti ini:
[sssd]
domains = mydomain.int
config_file_version = 2
services = nss, pam, sudo
[domain/mydomain.int]
id_provider = ad
access_provider = ad
sudo_provider = ldap
ad_domain = mydomain.int
krb5_realm = MYDOMAIN.INT
realmd_tags = manages-system joined-with-adcli
cache_credentials = True
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%[email protected]%d
Adakah ide tentang bagaimana hal ini dapat dicapai?
Jawaban yang Diterima:
Jika Anda ingin Active Directory mengelola sudoers
, Anda harus memuat skema khusus ke AD dan kemudian membuat aturan menggunakan alat seperti ADSI Edit. Panduan ini berfungsi untuk saya di Ubuntu 14.04. Yang menarik adalah:
- Impor
schema.ActiveDirectory
- Buat aturan dengan mengikuti halaman manual sudoers-ldap
- Perbarui
etc/nsswitch.conf
untuk menyertakansss
di antara entri padasudoers =
baris - Perbarui
etc/sssd/sssd.conf
untuk menyertakan:sudo
di antara entri diservices =
baris- sebuah
[sudo]
yang kosong bagian (konfigurasi tidak diperlukan, tetapi Redhat menegaskan bahwa ini memicu konfigurasi dukungan sudo yang tepat) - baris seperti
sudo_provider = ad
(dokumen sssd di pagure.org mengklaim penyedia sudo diaktifkan secara default untuk ldap, iklan, dan ipa jadi ini mungkin opsional)
Ketika saya mengulangi proses ini untuk 16,04 (yaitu aturan AD yang sama dengan 14,04), saya sebenarnya mengalami masalah lain. Rupanya, ini tidak biasa. Mungkin ada bug dalam versi sudo yang disertakan dalam 16.04.
- Pada prinsipnya, memutakhirkan secara manual ke yang terbaru akan mengatasi masalah ini.
sudo
biasa paket (bukansudo-ldap
) adalah paket yang tepat jika Anda menginginkan SSSD (dan bukansudo
) untuk mengelola koneksi ldap. Secara khusus, menginstalsudo-ldap
tidak menghasilkan log disssd_sudo.log
sedangkansudo
biasa paket berhasil.- Sementara
sssd_sudo
sekarang menampilkanReturning 2 rules for [<user>@<domain>]
,sudo -l
masih merespons denganSorry, user <user>@<domain> may not run sudo on <host>
jadi mungkin ada masalah lain yang perlu diselesaikan.
Namun, situasi saya mungkin tidak biasa, karena saya mengalami masalah tambahan yang tampaknya tidak umum. Misalnya, saya mengalami masalah saat menjalankan realm join
yang diselesaikan menggunakan solusi dari pertanyaan Kesalahan Server ini.
Jika Anda menemukan jalan Anda di sini karena masalah realmd/sssd/sudo di 16.04, berikut adalah beberapa masalah lain yang dilaporkan yang mungkin membantu (tidak harus secara langsung terkait dengan masalah OP):
- Masalah netgroup host IPA (info selengkapnya di daftar pengguna ipa gratis)
- Ada masalah umum dengan resolusi ketergantungan realme. Seperti yang disebutkan dalam diskusi, menginstal packagekit menyelesaikan banyak (termasuk kami). Mungkin ada masalah terpisah dengan versi di 16.04.
Kami mengevaluasi 16,04 untuk peningkatan sehingga kami dapat menempatkan ini di belakang burner, tapi mudah-mudahan kerja keras kami membantu orang lain.