GNU/Linux >> Belajar Linux >  >> Linux

PAM dengan contoh:Gunakan authconfig untuk memodifikasi PAM

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


Linux
  1. Bagaimana Cara Menggunakan Alat Peningkatan RedHat untuk Meningkatkan CentOS dari 6.x ke CentOS 7?

  2. Cara Menginstal dan Menggunakan Alat Baris Perintah Mosh Linux

  3. Tutorial GPROF – Cara menggunakan Alat Profil GNU GCC Linux

  1. Cara menggunakan alat Domain cPanel

  2. Cara menggunakan alat baris perintah sipcalc Linux

  3. Gunakan Ekspansi Parameter Untuk Memodifikasi Output Ekspansi Lain?

  1. Dapatkan statistik penggunaan memori dengan alat baris perintah Linux ini

  2. Cara menggunakan alat Kompresi 7zip dari Terminal Linux

  3. Cara menginstal dan menggunakan alat profil Gprof di Linux