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