我的问题是我需要监视所有已经登录或注销实时的用户。我知道有auth.log
文件,但我没有权限。有什么方法只显示用户名和登录/注销时间?监视linux用户登录和注销脚本
1
A
回答
0
您可以使用跟踪记录的用户,重点关注正在运行的进程。下面的场景做到这一点:
#!/bin/sh
mv current.log previous.log #Use two log file for compare users
ps aux | awk " {print $ 1}" |sort | uniq > current.log #Here unique users list
diff current.log previous.log | grep ">\|<" #comparring users lists
在结果您可以查看旁边:
< avahi #logout user
> 123 #login user
> sfdfs #login user
2
要查看哪些用户当前登录的,也有传统的命令who
和w
在Unix系统。调用这些不受限制。由于隐私原因,当用户登录或关闭时,不应允许普通用户看到。
这就是为什么你想要做什么不能用你可以得到的东西正确实现的原因。您将不得不使用变通办法,每个变通办法都会有警告。
迈克尔的答案通过记录当前用户列表(他正在使用ps
,但我更喜欢who
或w
来完成此任务)来尝试实现您的目标。如果这是定期完成的(每分钟或每小时左右),稍后您可以扫描日志文件以了解何时出现和消失。我会使用这样的:
#!/bin/bash
log() {
line=$(who | cut -d' ' -f1 | sort -u)
echo "$(date): " $line # _NO_ quotes around $line!
}
while sleep 3600
do
log >> user.log
done & # do this in the background
每行驶一个小时,这将日志谁是在线文件user.log
。
+0
感谢您的帮助,我已经成功地将who命令与diff和循环结合起来。再次感谢! – user1454833
0
另外,也许last
命令是你可以使用的。
相关问题
- 1. php登录和注销脚本错误
- 2. 如何监视Active Directory用户登录/注销?
- 3. 是否有Yammer REST api来监视用户登录和注销活动
- 4. 在WordPress中登录使用ajax登录/注销脚本
- 5. 用户配置> Windows设置>脚本(登录\注销)
- 6. Google帐户登录和注销
- 7. VBA登录和注销Facebook
- 8. CVS登录和注销
- 9. 网站登录和注销
- 10. 登录和注销挥杆
- 11. 登录和注销jsf
- 12. Android:facebook登录和注销
- 13. 显示用户名登录注销ASP
- 14. Grails注销另一个登录用户
- 15. Rails:注销事件登录用户
- 16. 单元测试用户登录/注销
- 17. 在2个CGI脚本中登录和注销会话
- 18. Angularfire用户注册,登录,注销和REST api
- 19. GCM,注册ID和处理用户登录/注销
- 20. 检索在线用户通过登录和注销记录
- 21. Linux KDE登录脚本
- 22. Silverstripe登录/注销
- 23. Django登录/注销
- 24. facebook登录/注销
- 25. Facebook登录/注销
- 26. 登录注销smarty
- 27. 如何通过Python为Windows和Linux获取用户登录/注销时间?
- 28. 使用AJAX登录/注销
- 29. 使用UITabBarController登录/注销?
- 30. 登录注销脚本问题用PHP在mysqli的
我只需要知道用户是否已登录或注销,并且如果可能的话在什么时间。 – user1454833
我已经更新了答案。我希望对你有好处 –