Я пытаюсь отправить логин пользователя на мою электронную почту с указанием имени и местоположения пользователя. После создания сценария я обнаружил, что переменные среды не могут быть запущены в этом сценарии, и я надеюсь, что кто-то там сможет мне помочь, даже если это проблема безопасности. Спасибо за ваше время
/etc/update-motd.d/99-footer
ssmtp -oi me@gmail.com << EOF
To: me@gmail.com
Subject: Login
$SUDO_USER" from "$SSH_CLIENT
EOF
вывод электронной почты
Subject: Login
from
Если изменить скрипт на:
echo "To: me@gmail.com
Subject: Login
$SUDO_USER from $SSH_CLIENT
" | ssmtp -oi me@gmail.com
Обратите внимание на использование двойных кавычек Переменные должны быть заменены.
В качестве эксперимента я добавил команду env
(эквивалентную printenv
) в конце /etc/update-motd.d/99-footer
в моей системе Ubuntu 12.04.
Когда я снова вошел в систему, в конце моего /etc/motd
были добавлены следующие строки:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
Итак, $PATH
и $PWD
являются только средой переменные, которые установлены, когда работает 99-footer
. Вот почему $SUDO_USER
и $SSH_CLIENT
не расширяются.
Вам нужно отправить это электронное письмо откуда-то еще, а не из процесса, который обновляет /etc/motd
.