PAM ; Modüler kimlik doğrulama sistemidir. /etc/shadow ve /etc/passwd standart kontrollerdi, ancak günümüzde gelişen sistemlerle kimlik denetimi akıllı kartlar, veritabanı, özel yazılımlar ile de yapılabilir hale geldi. PAM, tüm sistemler için API desteği sunar ve hepsi için yeni geliştirilmeler yapılmasını engeller. POP3, Mail, Ftp ve benzeri tüm sistemleri destekler.
PAM Servis Konfigürasyonu
"/etc/pam.d" dizini altında
/ssh, /login /remote gibi konfigürasyona göre farklı dosyalarda oluşur.
PAM SSH Servisi Konfigürasyon Örneği
Komut ile "sshd" dosyasının içeriğini görüntüleyelim ;
cat /etc/pam.d/sshd
Dosya İçeriği ;Modül Tipi- auth : Kullanıcı doğrulama, kimlik denetetimi yapar
- account : Kullanıcının sisteme gireceği zaman, şifre yaşlandırma, kaç defa girebileceği
- session : İşlem yapmadan önce ve sonra yapılması gerekenler. (şifre kaydetme,mount etme vs.)
- passwd : Kimlik bilglerinin güncellenmesini sağlar
Kontrol Bayrağı- required,requisite : Başarı zorunlu
- sufficient : Alttaki ve üstteki durumlara göre, bir sonraki satırda işlem yapılması sağlar
- optional : Başarılı / Başarısız önemli değil
Modüle Gönderilecek Argümanlar
- debug : Modülün yaptığı işlemleri rsyslog ile loglar
- no_warn : Hata mesajlarını pasif eder
- use_first_pass : Yeni şifre istemek yerine önceki şifreyi hatırlar
- try_first_pass : İkinci kez şifre sorar.
PAM Dökümastasyonlarından Örnekler
Pam modülleri dokümantasyonu
"/usr/share/doc/pam-....." dosya yolunda bulunur. README dosyalarını okunarak, istenilen işlemler yapılabilir.
- /usr/share/doc/pam-1.1.1/txts/README.pam_nologin
- /usr/share/doc/pam-1.1.1/txts/README.pam_shells
- /usr/share/doc/pam-1.1.1/txts/README.pam_listfile
Önemli pam modülleri ; pam_unix, pam_nologin, pam_ldap, pam_securetty, pam_limits, pam_access, pam_warn, pam_deny, pam_permit olarak sayabiliriz.
Saydığımız modüllerden
"pam limits modülünü" inceleyelim. Modül konfigürasyon dosyaları /
etc/security/ dizininde bulunur.
Dosyayı Açalım :
vi /etc/security/limits.conf
Aşağıdaki gibi tanımlamalar karşımıza çıkacak. Bunların neler olduğu madde madde inceleyelim ;
Kişi / Grup : @student - user
Kısıtlama : sof - hard
Kaynak : core - rss - nproc
Değer : 0 - 100 - 20 - 5
Tanımlamalar ;- core : Core dosyasının boyutu - KB cinsinden
- data : Kullanıcının çağırdığı programlarda ayrılacak maksimum hafıza - KB cinsinden
- fsize : Kullanıcı en büyük kaç KB'lık dosya yaratabilir
- nofile : Aynı anda açılabilecek dosya sayısı
- nproc : Maksimum uygulama sayısı
- rss : KB cinsinden hafıza kaplacak yer
- maxlogins : Sisteme aynı anda kaç kere login olabilir
- soft : kullanıcı kendine göre tanımlayabilir
- hard : son limitler, kullanıcılar değiştiremez
- NOT : @ işareti grubu ifade eder, "*" ise tümü demektir