П.П стана някакво мазало, само да се поясня - примерно при public key автентикация в ssh, PAM обикновено не участва в сметките.
Аз си имам малка теория,
Трябва да се казва PAAM. Plugable Auth. & Authorization Module.
Защото ключовете са метод за автентикация, а не за оторизация.
sshd ако имплементира механизъма за работа с SSH ключове, тогава няма проблем да разбере дали човека може да се логне.
НО
Трябва да се допита до PAM за да разбере дали потребителя е оторизиран за това - например ако има включен pam_tally, дали потребителя е оторизиран да се логне след 5 грешни опита...
Това, че PAM не се използва в работата с ключове според мен е добре, защото така OpenSSH може да си работи прекрасно и на системи без PAM.
Та на въпроса със SFTP-то...
Аз мисля, че Нетър сам си отговаря в поста:
Та... къде last мълчи? Оказва се, че last мълчи, когато потребителите влязат в системата без да използват tty/pts. Такива са случаите, когато потребителят влезе през SFTP клиент, rsync и SCP. Един често срещан сценарий на такова влизане е през "Shell link" опцията на mc.
От манюала:
"
The wtmp file records all logins and logouts. Its format is exactly like utmp except that a null
username indicates a logout on the associated terminal. Furthermore, the terminal name ~ with user‐
name shutdown or reboot indicates a system shutdown or reboot and the pair of terminal names |/}
logs the old/new system time when date(1) changes it.
wtmp is maintained by login(1), init(, and
some versions of getty( (e.g., mingetty( or agetty(). None of these programs creates the
file, so if it is removed, record-keeping is turned off."
Та и Гейт е прав де... обаче:
Късно е и малко залупих, SSH, ако иска да е от добрите ще използва PAM... само трябва да го излъжем да логва.
Така
В момента имам следния файл на Fedora 18:
[root@ivan-laptop pam.d]# ll /etc/pam.d/sshd
-rw-r--r--. 1 root root 676 17 фев 1,49 /etc/pam.d/sshd
[root@ivan-laptop pam.d]# cat /etc/pam.d/sshd
#%PAM-1.0
auth required pam_sepermit.so
auth substack password-auth
auth include postlogin
account required pam_nologin.so
account include password-auth
password include password-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session required pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open env_params
session optional pam_keyinit.so force revoke
session include password-auth
session include postlogin
Ако направя следното:
[root@ivan-laptop pam.d]# sftp testuser@localhost
testuser@localhost's password:
Connected to localhost.
sftp>
Тогава last мълчи а Neter е притеснен.
Обаче,, бивайки офицер от запаса правя следното:
[root@ivan-laptop pam.d]# cat /etc/pam.d/sshd
#%PAM-1.0
auth required pam_sepermit.so
auth substack password-auth
auth include postlogin
account required pam_nologin.so
account include password-auth
password include password-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session required pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open env_params
session optional pam_keyinit.so force revoke
session include password-auth
session include postlogin
session required pam_lastlog.soСега правя пак:
[root@ivan-laptop pam.d]# sftp testuser@localhost
testuser@localhost's password:
Connected to localhost.
sftp>
И резултата е:
testuser ssh localhost Sun Feb 17 01:50 still logged in
testuser ssh localhost Sun Feb 17 01:49 - 01:49 (00:00)
Мога да ви кажа че това си е асъл sftp защото шела ми е /sbin/nologin.
Трикътлика е в модула pam_lastlog, който според документацията:
pam_lastlog is a PAM module to display a line of information about the last login of the user. In addition, the module maintains the /var/log/lastlog file.
И даже още по якото:
nowtmp
Don´t update the wtmp entry.
Да бе да
Така, че Гейт лошите винаги могат да намерят нещо да базикнат, ама и ние не сме много тъпи
Дето вика един скроро..
Па тея си мислели че ние доматите с колците ги ядем