Cách tốt nhất để làm điều này là sử dụng pam .
Trong /etc/pam.d
bạn sẽ có một vài tệp, một trong số chúng sẽ được gọi sshd
. Nếu bạn chỉ muốn ảnh hưởng đến ssh chứ không phải các thông tin đăng nhập khác (như GUI hoặc TTY thực), bạn muốn có tệp này.
Nếu bạn muốn ảnh hưởng đến tất cả thông tin đăng nhập, bạn sẽ muốn có tệp 'chung'. Tên của tệp 'chung' này khác nhau tùy theo bản phân phối, nhưng bạn có thể theo dõi nó bằng cách làm theo các câu lệnh include
và substack
trong sshd
tệp cho đến khi bạn đến tệp cơ sở.
Khi bạn đã xác định tệp /etc/pam.d
mà bạn muốn sử dụng, hãy thêm một dòng như sau vào session
phần:
session optional pam_exec.so quiet /etc/pam_session.sh
Điều này sẽ dẫn đến việc gọi /etc/pam_session.sh
mỗi khi ai đó đăng nhập và đăng xuất (dù duyên dáng hay vô duyên).
Bây giờ bạn chỉ cần tạo /etc/pam_session.sh
. Dưới đây là một ví dụ bạn có thể sử dụng để chạy một cái gì đó mỗi khi ai đó đăng xuất:
#!/bin/sh
if [ "$PAM_TYPE" = "close_session" ]; then
something
fi
(đừng quên chmod a+x
kịch bản)