Você pode ter o script acionado quando uma sessão de login é aberta.
pam-script é um módulo PAM que permite você executar scripts dentro da pilha do PAM durante a autorização, alterações de senha e na abertura ou fechamento da sessão.
Nas distribuições Linux baseadas no Debian, ele é fornecido pelo pacote libpam-script . No Fedora, o pacote é simplesmente chamado pam-script .
Os seguintes scripts podem ser acionados pelo pam-script:
-
pam_script_auth- executado durante a autenticação -
pam_script_acct- invocado durante o gerenciamento de contas -
pam_script_passwd- invocado ao alterar senhas -
pam_script_ses_open- invocado quando a sessão é aberta -
pam_script_ses_close- invocado quando uma sessão é encerrada
Para executar um script na sessão aberta, adicione isso a /etc/pam.d/common-session :
# Attempt to run pam_script_ses_open and pam_script_ses_close.
# Report success even if script is not found.
session optional pam_script.so onerr=success
No Debian, por padrão, o pam-script executará /usr/share/libpam-script/pam_script_ses_open . A localização dos scripts pode ser configurada com a opção dir=/path/to/scripts/ .
Com o pam-script, também é conveniente acessar o endereço IP do host remoto em um script bash. Cada script receberá as seguintes variáveis de ambiente (todas existirão, mas algumas podem ser nulas, se não forem aplicáveis):
-
PAM_SERVICE- o aplicativo que está invocando a pilha PAM -
PAM_TYPE- o tipo de módulo (por exemplo, auth, conta, sessão, senha) -
PAM_USER- o usuário sendo autenticado em -
PAM_RUSER- o usuário remoto, o usuário invocando o aplicativo -
PAM_RHOST- host remoto -
PAM_TTY- o controle tty -
PAM_AUTHTOK- senha em texto legível