Variáveis de ambiente em motd not working

3

Estou tentando enviar logs de login do usuário para meu e-mail com o nome e o local dos usuários. Depois de fazer o script, descobri que as variáveis de ambiente não podem ser executadas neste script. Espero que alguém possa ajudar a que isso funcione mesmo que seja um problema de segurança. Obrigado pelo seu tempo

/etc/update-motd.d/99-footer

ssmtp -oi [email protected] << EOF
To: [email protected]
Subject: Login

$SUDO_USER" from "$SSH_CLIENT

EOF

saída de e-mail é

Subject: Login  
 from
    
por Alexander 27.05.2012 / 08:57

2 respostas

2

Como experiência, adicionei um comando env (equivalente a printenv ) ao final de /etc/update-motd.d/99-footer no meu sistema Ubuntu 12.04.

Quando eu entrei novamente, as linhas a seguir foram adicionadas ao final do meu /etc/motd :

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/

Portanto, $PATH e $PWD são as variáveis de ambiente somente definidas quando o 99-footer está sendo executado. É por isso que $SUDO_USER e $SSH_CLIENT não estão sendo expandidos.

Você precisa enviar esse e-mail de algum outro lugar, não do processo que atualiza /etc/motd .

    
por Keith Thompson 24.07.2012 / 00:53
-1

Se você alterar o script para:

echo "To: [email protected]
Subject: Login

$SUDO_USER from $SSH_CLIENT

" | ssmtp -oi [email protected]

Observe o uso de aspas duplas. As variáveis devem então ser substituídas.

    
por StarNamer 24.07.2012 / 00:41