Bash - информация о сеансе для пользователя - PullRequest
0 голосов
/ 01 мая 2020

Я пытаюсь создать список команд, которые пользователь запускает в своем сеансе, и зарегистрировать их,

Пока у меня есть следующий скрипт для отображения соответствующей информации при вызове вручную:

echo "Username     -  "`last | awk 'NR==1' | cut -d " " -f 1 `
echo "Login        -  "`last | awk 'NR==1' | cut -d " " -f 15-23 `
echo "Status       -  "`last | awk 'NR==1' | cut -d " " -f 26-30 `
echo "Total Uptime -  "`uptime`

output:

Username     -  swe4102
Login        -   Wed Apr 29 14:06
Status       -  still logged in
Total Uptime -   15:25:25 up 1 day, 1:19, 1 user, load average: 0.00, 0.10, 0.14

Я изменил историю, чтобы показать временную метку команд:

export HISTTIMEFORMAT='%F %T  '

пример вывода при вызове команды истории:

 2003  2020-04-30 15:25:18 vi audit.sh
 2004  2020-04-30 15:25:25 ./audit.sh 
 2005  2020-04-30 15:28:17 vi audit.sh

Is Есть ли способ, которым я могу сравнить время входа в систему с отметкой времени истории, чтобы отобразить только команды, когда этот пользователь swe4102 вошел в систему? команда истории только для захвата, например, 12 команд, выполненных с момента входа в систему

...