在 ssh 登录时运行脚本

在 ssh 登录时运行脚本

我有一个有 4 个用户的开发环境,我希望能够记录他们的登录时间,因为他们是在家工作的承包商。

我不知道该怎么做,我的系统管理员这个周末离开了我,我完全不知所措。我希望能够每天只在第一次登录时运行脚本或命令。如果可能的话,当他们注销时也运行。

例子:

今天上午 8 点用户 1 登录:执行命令 /path/command.sh 今天上午 9 点用户 2 登录:执行命令 /path/command.sh 今天下午 2 点用户 1 注销 今天下午 3 点用户 1 登录:不执行任何操作 今天下午 4 点用户 1 登录(第二个 shell 窗口):不执行任何操作 等等...

我想我可以使用 .profile 文件,但我不确定,谢谢

在 ubuntu 服务器 12.04 上运行

答案1

要跟踪他们登录的时间,您无需执行任何操作。该last命令会告诉您他们何时登录,即使过了一周半。它还会告诉您他们何时注销,您可能会觉得这很有用。

至于运行命令,您可以使用该.profile文件,但最大的问题是许多程序员会修改此文件以设置他们喜欢的环境,这可能会抹去您的更改。请不要告诉他们他们不能这样做 - 通过点文件设置个人环境只是工作的一部分。您看起来充其量是技术上缺乏经验,我们不会讨论最糟糕的部分。

老实说,我建议通过执行该命令找到另一种方法来完成您正在做的事情。这是一个人事/社会/管理问题,试图通过技术手段解决这些问题……并不好。而且,正如@Vinz 指出的那样,仅在他们登录时进行记录并不意味着您会获得有关他们所做工作的有用信息。

答案2

您可以使用几个简单的命令来查看他们当前正在做什么。

  • 最后日志#查看上次登录的时间
  • WHO#查看当前谁连接到了机器
  • ps -U 用户名#显示他们正在使用哪些进程
  • lsof | grep 用户名 #显示他们正在使用的文件

但这看起来更像是一个管理问题,甚至是一个信任问题?

相关内容