有没有办法知道用户在who
或其他方法的帮助下登录系统的次数(UNIX)?
答案 0 :(得分:2)
然后你可以操纵输出来计算你做的任何事情。
答案 1 :(得分:2)
如果你想要count
用户登录的次数,那么通过command-line
IMO就不可能......特别是因为有sudo
选项假装其他用户可能会失败你的逻辑 - 如果你有
另外,how many times
需要有一个时间段( from when
到when
)..所以你需要一个更高的时间段来自你想跟踪计数。所有这将是一个混乱理想只是为了保持count
如果我必须跟踪它,我最好的猜测是script
并保持db-table
保持count
users
正在记录的人在!
答案 2 :(得分: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
- 数据库(/var/log/wtmp
)的登录。
这意味着,只显示此数据库中的条目。
你必须记住,tt是可能的,如果用户很久以前登录,则没有关于此登录的信息(因为轮换)。
另外,我必须注意,"用户登录的次数"有点模糊。
用户可以拥有正在运行的进程,但不能登录(或至少未在wtmp
中注册),
用户可以使用su
等等。
使用这种方式,您可以计算用户的开放终端会话数:
$ ps aux | grep ^igor | fgrep S+ | wc -l
12
答案 3 :(得分:0)
您可以将逻辑添加到/ etc / profile。 在日志文件中附加一行时,请不要忘记内务管理。 您可能希望每天生成一个日志文件并删除超过10天的文件。