通过ssh登录时查看是否有本地用户登录

seb*_*ger 6 ssh command-line login 12.04

我需要在一台只能远程访问但也可用作工作站的机器上运行一些计算。其中有很多,我想选择一个“免费”的。在这种情况下,免费意味着没有人在本地登录。

我的第一次尝试是who命令,但由于某种原因,它只列出了“选定的”用户,我无法真正了解他们是如何被选中的。下一次尝试::ps aux | cut -d " " -f1 | sort | uniq更好地显示一堆恶魔,但也显示未显示的本地用户who

我目前的解决方案是进去做ps aux | grep "gnome-session"更好但仍然给我很多垃圾的方法。理想情况下,我正在寻找可以包含在我的 ssh 配置文件中的内容,以便在我登录时警告我有关(活动的)本地用户。

编辑:

  • 既没有whow没有返回本地用户。这是意外行为吗?
  • uptime 另一方面向我展示了适量的用户(本地和远程减去 root 等系统用户)
  • finger 未安装

pl1*_*1nk 7

w

w手册页:

显示谁已登录以及他们在做什么。

输出示例:

$ w
09:15:10 up 43 min,  2 users,  load average: 0.74, 0.38, 0.24

USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU  WHAT

kucing   tty7     :0               08:32   43:15m 57.73s  0.18s x-session-manager
kucing   pts/0    :0.0             08:48    0.00s  0.24s  0.00s w´
Run Code Online (Sandbox Code Playgroud)


小智 4

finger命令是否已安装,如果没有,是否可以?这应该列出所有登录的用户以及从哪里登录(即另一台机器,或直接登录到该机器),并且还应该告诉您该用户空闲了多长时间。

有关详细信息,请参阅ubuntu Finger 联机帮助页。


And*_*ovs 2

我会选择:

who | cut -d' ' -f1 | sort | uniq
Run Code Online (Sandbox Code Playgroud)

这将显示真实用户的列表。如果列表为空 - 计算机处于注销状态,正在等待某人登录。
ps aux还会显示一些您可能不希望看到的系统用户。