Testujemy PAM

bibliotek PAM możesz szukać w katalogu /lin lub /lib64.

Na przykład w najnowszej wersji Debian'a 64 bit - jest to katalog: /lib/x86_64-linux-gnu/security

Natomiast konfiguracja znajduje się w katalogu /etc/pam.d

Przetestujemy swój moduł napisany w Pythonie.

apt install libpam-python libpam-python-doc

pam-python szuka modułów w /lib/security

dlatego: 

ln -s /lib/x86_64-linux-gnu/security /lib/security

definiujemy procedury w /lib/security/pam_ssh_log.py 


import sys
import datetime

def auth_log(msg):
 f = open('/var/log/ssh.log', 'a+')
 f.write("%s : %s \n" % (datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"),msg))
 f.close()

def pam_sm_authenticate(pamh, flags, argv):
 try:
   user = pamh.get_user()
 except pamh.exception, e:
   return e.pam_result
 auth_log("pyAuth: %s (%s)" % (pamh.rhost, user))
 return pamh.PAM_SUCCESS

Na koniec dodajemy w /etc/pam.d/sshd


auth required  pam_python.so pam_ssh_log.py

UWAGA! Musimy być zalogowani i nie próbujmy w tej sesji - by nie utracić kontroli.

Last modified: Sunday, 31 May 2020, 12:25 PM