Запустить скрипт при входе по ssh

Запустить скрипт при входе по ssh

У меня есть среда разработки с 4 пользователями, и я хочу иметь возможность регистрировать время их входа в систему, поскольку они являются подрядчиками, работающими из дома.

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

пример:

сегодня в 8 утра вход пользователя 1: выполнить команду /path/command.sh сегодня в 9 утра вход пользователя 2: выполнить команду /path/command.sh сегодня в 2 дня выход пользователя 1 сегодня в 3 дня вход пользователя 1: ничего не делать сегодня в 4 дня вход пользователя 1 (второе окно оболочки): ничего не делать и т. д.

Я думаю, что могу использовать файл .profile, но я не уверен, спасибо

работает на сервере Ubuntu 12.04

решение1

Чтобы отслеживать время их входа в систему, вам не нужно ничего делать. Команда lastсообщит вам, когда они вошли в систему, даже через полторы недели. IT также сообщит вам, когда они вышли из системы, что может оказаться полезным.

Что касается запуска команды, вы можете использовать файл .profile, но самая большая проблема в том, что многие программисты будут изменять этот файл, чтобы настроить среду, которую они предпочитают, потенциально стирая ваши изменения. Пожалуйста, не говорите им, что они не могут этого сделать — настройка индивидуальной среды через dot-файлы — это всего лишь часть работы. В лучшем случае вы будете выглядеть технически неопытным, мы не будем вдаваться в худшую часть.

Честно говоря, я бы рекомендовал найти другой способ делать то, что вы делаете, выполняя эту команду. Это кадровая / социологическая / управленческая проблема, и пытаться решить эти проблемы техническими средствами... нехорошо. И, как указывает @Vinz, простое логирование, когда они входят в систему, не означает, что вы получаете полезную информацию о работе, которую они делают.

решение2

Есть несколько простых команд, которые вы можете использовать, чтобы увидеть, что они в данный момент делают.

  • последнийжурнал#посмотреть, когда последний раз входил в систему
  • ВОЗ#посмотреть, кто в данный момент подключен к машине
  • ps -U имя пользователя#показывает, какие процессы они используют
  • lsof | grep имя пользователя #показывает, какие поля они используют

но это больше похоже на проблему управления или, может быть, даже на проблему доверия?

Связанный контент