Извещение доступа из-за ssh

Мне хотелось бы знать: как я могу добиваться того же результата, что и следующий рукописный шрифт в Bash используя PAM_EXEC?

#!/bin/bash
tail -fn0 /var/log/auth.log | \
while read line;
do
    LOG=$(echo $line | grep "Accepted");
    if [ $? = 0 ];
    then
        if [ ! -d $HOME/.var/log ]; then mkdir -p $HOME/.var/log; fi
        echo $LOG >> $HOME/.var/log/auth.log
        USER=$(echo $LOG | grep -oP '(?<=for ).*(?= from)');
        IP=$(echo $LOG | grep -oP '(?<=from ).*(?= port)');
        HOSTNAME=$(hostname -f);
        DATE=$(date +'%c');
        notify-send -i dialog-warning "SSH Access" "User $USER@$HOSTNAME logged in from $IP\non $DATE.";
    fi
done

В предыдущем коде видят как информация о связях из-за ssh они извлекаются из файла реестра /var/log/auth.log, однако мне кажется, что был бы должен существовать более оптимальный механизм для этого.

Я увидел, что с pam_execмогут работать рукописный шрифт или команды в момент делания login, но я не вижу способ это делать и перемещать в рукописный шрифт необходимые аргументы: USER, IP.

2
задан 16.02.2017, 20:41
0 ответов

Si quieres usar pam_exe puedes aprovecharte del hecho que pam_exe se ejecuta en en entorno del Usuario que se esta conectando. Por eso, кто я te da un dato como:

luser   pts/0        2017-02-17 13:27 (192.168.100.23)

De eso puedes extraer elid (en el ejemplo "luser") y el ip (el valor en parentesis):

#!/bin/bash
LUSER=`who am i | awk '{print $1}'`
IPADDR=`who am i | awk '{print $5}' | sed -e 's/^(//' -e 's/)//'`
echo $LUSER
echo $IPADDR

en vez del echo puedes escribir los datos en un log.

Проблема в том, что касается метода, в соответствии с требованиями, так как в связи с этим возникает проблема, связанная с привилегиями в журналах.

Сценарий Una solución puede ser de dar este chown root: root , сценарий ejuecutable solamente para root, сценарий en enololverlo en otro, изменяемый без изменений, как правило sudo 1133122]. En sudoers разрешает различные сценарии, связанные с тападой. :)

Más fácil aun (sin los problemmas de seguridad) сериал usar , который - u похож на манер, похожий на аналогичный, уникальный по своему вкусу [113312] awk para obtener la IP.

1
ответ дан 03.12.2019, 17:01