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. ]