Pluggable Authentication Modules (PAM) telah ada di Linux sejak lama. Tujuan PAM adalah untuk memusatkan persyaratan otentikasi dan otentikasi untuk layanan dan modul.
Dalam artikel baru-baru ini yang memperkenalkan PAM, saya menyebutkan bahwa banyak perubahan konfigurasi dilakukan menggunakan utilitas lain. Salah satu utilitas tersebut adalah authconfig . Alat ini digunakan dengan Red Hat Enterprise Linux, hingga dan termasuk, RHEL7. Versi terbaru Fedora dan RHEL8 menggunakan authselect sebagai gantinya, meskipun Anda mungkin menemukan authconfig utilitas dalam mode kompatibilitas.
authconfig alat dibuat untuk membantu dalam konfigurasi klien untuk otentikasi terpusat. File PAM hanya merupakan bagian dari konfigurasi ini. Misalnya, menggunakan authconfig untuk mengaktifkan otentikasi Kerberos, buat perubahan pada /etc/nsswitch.conf file dan /etc/krb5.conf file selain menambahkan pam_krb5 modul ke /etc/pam.d/{system,password}-auth file. Konfigurasi PAM tambahan sekarang juga dimungkinkan dengan authconfig alat, seperti yang akan kita lihat pada contoh di bawah.
Tiga antarmuka authconfig
Seperti banyak utilitas konfigurasi sistem, autentikasi dapat dikonfigurasi dengan alat antarmuka pengguna grafis (GUI), melalui antarmuka teks interaktif (TUI), atau di baris perintah. Mari kita lihat ketiga opsi tersebut.
Alat grafis disediakan oleh authconfig-gtk kemasan. Utilitas ini memiliki banyak tab untuk mengatur opsi:
Versi teks interaktif ("TUI") diakses dengan authconfig-tui memerintah. Gunakan TAB tombol untuk memindahkan bidang dan SPACE bilah untuk memilih atau membatalkan pilihan:
Terakhir, ada alat baris perintah skrip authconfig . Perintah ini juga memiliki banyak opsi yang dijelaskan dengan --help pilihan dan di man halaman.
Versi grafis dan teks bersifat interaktif, tetapi memiliki opsi terbatas. Misalnya, Anda dapat mengaktifkan otentikasi menggunakan pembaca sidik jari di ketiga antarmuka, tetapi hanya alat baris perintah yang memiliki opsi untuk mengonfigurasi pam_faillock modul. Perubahan kekuatan sandi menggunakan pam_pwquality modul dibuat dengan alat grafis dan alat baris perintah tetapi bukan antarmuka teks interaktif.
Contoh pertama:Aktifkan pembaca sidik jari
Sebelum kita membahas secara spesifik penggunaan opsi baris perintah, mari kita lihat perubahan yang dibuat dengan mengaktifkan pembaca sidik jari menggunakan authconfig-tui atau authconfig-gtk :
[demo]$ grep fprintd /etc/pam.d/* # before enabling the fingerprint reader
/etc/pam.d/fingerprint-auth:auth sufficient pam_fprintd.so
/etc/pam.d/fingerprint-auth-ac:auth sufficient pam_fprintd.so
Dengan opsi dinonaktifkan, hanya fingerprint-auth file berisi referensi ke fprintd modul. Setelah mengaktifkan opsi, baris baru akan ditambahkan ke /etc/pam.d/system-auth file:
[demo]$ grep fprintd /etc/pam.d/* # after enabling the fingerprint reader
/etc/pam.d/fingerprint-auth:auth sufficient pam_fprintd.so
/etc/pam.d/fingerprint-auth-ac:auth sufficient pam_fprintd.so
/etc/pam.d/system-auth:auth sufficient pam_fprintd.so
/etc/pam.d/system-auth-ac:auth sufficient pam_fprintd.so Contoh kedua:setelan kualitas pw
Alat grafis juga memiliki Opsi Kata Sandi tab yang mengontrol /etc/security/pwquality berkas:
[demo]# grep '^[^# ]' /etc/security/pwquality.conf # before changing a field File ini memiliki banyak komentar berguna yang menunjukkan sintaks dan nilai default. Setelah mengubah salah satu bidang, semua opsi ditetapkan di akhir file:
[demo]# grep '^[^# ]' /etc/security/pwquality.conf # after changing a field
minlen = 12
minclass = 2
maxrepeat = 0
maxclassrepeat = 0
lcredit = 0
ucredit = 0
dcredit = 0
ocredit = 0 Saya mengubah panjang yang diperlukan dan jumlah kelas karakter yang diperlukan.
Gunakan alat CLI authconfig
Salah satu hal rumit yang perlu diingat saat menggunakan authconfig di baris perintah adalah menambahkan --update pilihan. Ada --test opsi untuk memeriksa sintaks, sebuah --update opsi untuk memperbarui authconfig informasi dan file konfigurasi aktual untuk opsi yang ditentukan, dan --updateall opsi yang mengatur ulang semua file konfigurasi agar sesuai dengan authconfig pengaturan. --updateall option adalah cara yang bagus untuk menghapus semua perubahan manual yang mungkin dilakukan administrator pada sistem. Alur kerja saya biasanya hanya menggunakan --update pilihan untuk setiap perubahan.
Jika Anda menjalankan authconfig perintah sebagai pengguna biasa, Anda akan diminta kata sandi untuk meningkatkan hak istimewa sebelum perintah dijalankan. Ini bahkan benar dengan --help pertanyaan:
[demo]# authconfig --help
Usage: authconfig [options] {--update|--updateall|--test|--probe|--restorebackup <name>|--savebackup <name>|--restorelastbackup}
Options:
...omitted...
--test do not update the configuration files, only print new settings
--update, --kickstart opposite of --test, update configuration files with changed settings
--updateall update all configuration files Seperti yang terlihat pada versi GUI dan TUI, otentikasi sidik jari adalah sakelar hidup/mati. Opsi baris perintah adalah:
[demo]# authconfig --help | grep finger
--enablefingerprint enable authentication with fingerprint readers by default
--disablefingerprint disable authentication with fingerprint readers by default Dan perintah untuk mengaktifkan fitur sidik jari adalah:
[demo]# authconfig --enablefingerprint --update Pengaturan kata sandi yang tersedia di versi GUI tetapi bukan versi TUI juga dapat diatur di baris perintah.
[demo]# authconfig --help | grep passmin
--passminlen=<number> minimum length of a password
--passminclass=<number> minimum number of character classes in a password Anda dapat mengatur beberapa opsi sekaligus:
[demo]# authconfig --passminlen=12 --passminclass=2 --update
Karena tidak semua pwquality pengaturan dapat dibuat dengan semua versi authconfig , biasanya menggunakan salah satu opsi baris perintah, seperti --passminlen opsi, untuk awalnya mengonfigurasi /etc/security/pwquality mengajukan. Utilitas menetapkan nilai untuk semua opsi di bagian bawah file. Administrator kemudian dapat secara manual mengedit bidang tersebut dengan mudah menggunakan sed perintah, atau dengan menggunakan Ansible lineinfile modul.
faillock module adalah contoh perubahan pada file konfigurasi PAM yang hanya tersedia dengan versi baris perintah authconfig . Modul ini menghitung upaya autentikasi yang gagal per pengguna selama interval tertentu dan mengunci akun jika ada terlalu banyak autentikasi yang gagal berturut-turut.
[demo]# authconfig --help | grep fail
--enablefaillock enable account locking in case of too many consecutive authentication failures
--disablefaillock disable account locking on too many consecutive authentication failures
--faillockargs=<options> the pam_faillock module options
faillock modul juga sedikit berbeda. Ada opsi untuk mengaktifkan dan menonaktifkan, tetapi ada juga opsi untuk meneruskan argumen. Ambang batas hitungan dapat disesuaikan, seperti halnya panjang interval dan waktu tunggu buka kunci. Anda juga dapat memilih apakah modul hanya berlaku untuk pengguna biasa atau juga untuk akun root. Halaman manual untuk pam_faillock menunjukkan opsi dan contoh yang valid dari baris terakhir di/etc/pam.d/* file. --faillockargs opsi untuk authconfig mengharapkan string yang dikutip dari semua opsi yang Anda atur dalam file PAM. Jika Anda membiarkannya, opsi default modul akan digunakan.
Saat dinonaktifkan, tidak ada referensi ke pam_faillock modul. Namun, jika Anda grep hanya karena gagal Anda mungkin melihat pam_faildelay modul:
[demo]# grep faillock /etc/pam.d/* # before enabling the faillock module
Pastikan untuk mengutip faillock argumen jika Anda menyertakan opsi itu:
[demo]# authconfig --enablefaillock --faillockargs='deny=4 unlock_time=300' --update
Setelah mengaktifkan modul, beberapa baris ditambahkan ke beberapa /etc/pam.d/*auth file.
Bagaimana dengan pengeditan manual pada file PAM?
Selama eksplorasi file PAM yang dimodifikasi oleh authconfig , Anda mungkin memperhatikan bahwa beberapa file di /etc/pam.d direktori memiliki komentar di bagian atas tentang pengeditan manual yang ditimpa oleh utilitas. Utilitas telah diperluas untuk mencakup banyak fitur PAM standar, tetapi terkadang ada kebutuhan untuk membuat perubahan manual. Jika Anda membuat perubahan manual, Anda perlu menonaktifkan perubahan langsung dari authconfig .
Ada artikel basis pengetahuan dan posting blog layanan yang menyediakan langkah-langkah untuk pengeditan manual. Anda juga dapat menemukan latihan formal untuk perubahan manual dan menggali lebih dalam beberapa modul spesifik dengan menghadiri kursus Red Hat Security:Linux in Physical, Virtual, and Cloud (RH415).
Bagaimanapun, itu adalah alat yang tidak digunakan lagi?
authconfig utilitas awalnya dibuat untuk membantu mengonfigurasi berbagai jenis otentikasi terpusat. Selama bertahun-tahun, ia telah berkembang untuk juga menangani konfigurasi PAM lainnya. Dalam sistem saat ini, sebagian besar otentikasi terpusat sekarang dikonfigurasi melalui ipa-client-install atau realmd , keduanya mengharapkan sssd dan pam_sss modul. authselect utilitas menggantikan authconfig di Fedora versi terbaru dan diperkenalkan ke Red Hat Enterprise Linux dengan versi 8. Alat baru ini mengelola konfigurasi melalui profil dan tidak lagi mengedit semua file konfigurasi terpusat yang berbeda. Fokusnya ada di /etc/nsswitch.conf file dan file konfigurasi PAM. Ini memiliki banyak opsi serupa untuk mengaktifkan dan menonaktifkan fitur seperti pembaca sidik jari, kartu pintar, dan faillock modul. Anda dapat mempelajari lebih lanjut tentang migrasi dengan man authselect-migration .
[ Unduhan gratis:Lembar contekan perintah Linux tingkat lanjut. ]