getent passwd tidak bekerja; Otentikasi CentOS 7 dan SSSD LDAP

9

Saya menginstal CentOS 7 pada server baru. Semua server saya mendapatkan otentikasi pengguna akhir melalui LDAPS di berbagai sistem seperti RHEL5, Debian, dan Solaris. Saya perhatikan ada layer baru pada CentOS 7 yang SSS di atas NSS dan PAM. Lagi pula, saya mencoba mereplikasi jenis koneksi yang sama dengan server lain.

Perintah ldapsearch -xini mengikat dalam LDAP, tetapi tidak di LDAPS.

Saat menggali masalah, saya mencoba melakukan koneksi di LDAP memeras lapisan SSS menempatkan garis-garis ini di saya /etc/nsswitch.conf

passwd:     files ldap #sss 
shadow:     files ldap #sss 
group:      files ldap #sss 

Dan saya menambahkan baris ini di /etc/sssd/sssd.conf

cache_credentials = False

Dan saya memulai kembali SSD.

systemctl restart sssd

Saya memeriksa dengan perintah authconfig --testdan semuanya tampak ok: ( http://www.heypasteit.com/clip/1LZ2 )

dubi
sumber

Jawaban:

9

Saya tidak yakin apakah ini solusi yang tepat tetapi diperhatikan di FAQ SSSD saat ini:

Kapan saya harus mengaktifkan enumerasi di SSSD? atau Mengapa enumerasi dinonaktifkan secara default?

"Enumerasi" adalah istilah SSSD untuk "membaca dan menampilkan semua nilai peta tertentu (pengguna, grup, dll.)". Kami menonaktifkan ini secara default di SSSD untuk meminimalkan beban pada server yang harus berkomunikasi dengan SSSD. Dalam sebagian besar operasi, daftar set lengkap pengguna atau grup tidak akan pernah diperlukan. Aplikasi umumnya akan meminta informasi tentang pengguna atau grup tertentu.

Menghitung semua entri memiliki dampak negatif pada beban di server dan kinerja pada klien (karena kami harus menyimpan semua hubungan kompleks antara pengguna dan grup yang menjadi bagian dari cache lokal). Jadi karena ini, kami mengirim dengan pencacahan dinonaktifkan (perilaku yang sama dengan winbind proyek Samba).

Anda hanya harus mengaktifkan enumerasi (dan masalah kinerja yang dihasilkan) jika Anda memiliki aplikasi atau skrip di lingkungan Anda yang benar-benar harus dapat mengambil daftar lengkap. Dalam kasus ini, pencacahan dapat diaktifkan dengan pengaturan

   [domain/<domainname>]
   enumerate = true
   ...

dalam file sssd.conf Anda.

Ini memungkinkan kemampuan getent passwduntuk menampilkan semua akun yang tersedia melalui SSSD. Berhati-hatilah karena ini bisa menjadi hambatan kinerja.

slm
sumber