Der beste Weg, dies zu tun, wäre die Verwendung von pam .
In werden /etc/pam.d
Sie mehrere Dateien haben, von denen eine aufgerufen wird sshd
. Wenn Sie nur ssh und keine anderen Anmeldungen (z. B. eine grafische Benutzeroberfläche oder echtes TTY) beeinflussen möchten, möchten Sie diese Datei.
Wenn Sie alle Anmeldungen beeinflussen möchten, benötigen Sie eine "gemeinsame" Datei. Der Name dieser anderen "allgemeinen" Datei variiert je nach Distribution. Sie können ihn jedoch ermitteln, indem Sie den Anweisungen include
und substack
in der sshd
Datei folgen, bis Sie zur Basisdatei gelangen.
Wenn Sie die Datei identifiziert haben, die /etc/pam.d
Sie verwenden möchten, fügen Sie dem session
Abschnitt eine Zeile wie die folgende hinzu :
session optional pam_exec.so quiet /etc/pam_session.sh
Dies führt dazu, dass /etc/pam_session.sh
jedes Mal, wenn sich jemand anmeldet oder abmeldet, ein Anruf getätigt wird (ob ordnungsgemäß oder nicht ordnungsgemäß).
Jetzt müssen Sie nur noch erstellen /etc/pam_session.sh
. Im Folgenden finden Sie ein Beispiel, mit dem Sie bei jeder Abmeldung einen Befehl ausführen können:
#!/bin/sh
if [ "$PAM_TYPE" = "close_session" ]; then
something
fi
(vergiss nicht chmod a+x
das Drehbuch)