2014-08-28 93 views

回答

2

如果你想的count用户多少次登录,那么它不可能通过command-line IMO ....特别是因为有sudo选项假装后者可能无法你的逻辑其它用户 - 如果您有任何

此外,how many times需要有一个时间托架(from when直到when)..所以你需要有一个时间上限托架以及从要追查count.All这将是一个非常混乱只是为了保持一个count

如果我必须跟踪它,我最好的猜测将是有一个script并保持一个db-table保持users登录的count

1

您可以使用last

last | grep ^username| grep 'logged in' | wc -l 

例如:

$ last | grep ^igor | grep 'still logged' 
igor  pts/9  astaro  Thu Aug 28 09:55 still logged in 

大约需要用户从wtmp -database(/var/log/wtmp)的登录信息。 这意味着只显示该数据库中的条目。 您必须记住,有可能的是,如果用户很久以前登录过,则没有关于此登录的信息(因为轮换)。

另外,我必须注意,“用户登录多少次”的概念有点含糊。 用户可以有正在运行的进程,但没有登录(或至少没有在wtmp注册), 用户可以使用su等。

使用这种方式,你可以指望用户开放终端会话的数量:

$ ps aux | grep ^igor | fgrep S+ | wc -l 
12 
+0

thnx为你的答案...但这个命令'最后| grep ^用户名| grep'登录'| wc -l'会给出用户当前登录的信息。 – pulse 2014-08-28 07:24:14

+0

@pulse:我认为这是我们试图解决的任务,不是吗? – 2014-08-28 07:30:34

+0

@IgorChubin:没有队友,OP想要*计算你登录的次数*对于eg.say NoobEditor从SomeDate登录15次直到SomeDate :) – NoobEditor 2014-08-28 07:35:29

0

您可以将逻辑添加到/ etc/profile。 当您将一行添加到日志文件时,请不要忘记管家。 您可能需要创建每日日志文件并删除10天以前的文件。