有没有办法确定 Linux 上用户创建的时间?我知道有几种方法,但这种方法不可靠。第一种方法是检查主目录的创建时间,运行命令ls -ld /home/user
查看时间戳。然后可以选择检查bash_profile
或bash_logout
:ls -l /home/user/.bash_profile
和ls -l /home/.bash_logout
。请帮我找到一种更可靠的方法!
答案1
Fedora 非常像 RedHatty,它似乎会记录 useradd 的使用情况,即使由 root 调用(而不是通过 sudo,当然也会留下日志):
[root@anni log]# useradd foo
[root@anni log]# tail /var/log/secure
Sep 13 16:15:15 anni useradd[17621]: new group: name=foo, GID=502
Sep 13 16:15:15 anni useradd[17621]: new user: name=foo, UID=502, GID=502, home=/home/foo, shell=/bin/bash
保留旧副本的时间长短/var/log/secure
与您和您的 logrotate 配置有关。
答案2
据我所知,默认情况下,Linux 不记录创建日期。
答案3
您可以监视/var/log/secure
用户添加的条目:
Sep 13 17:11:08 *** useradd[27220]: new group: name=test, GID=515
Sep 13 17:11:08 *** useradd[27220]: new user: name=test, UID=514, GID=515, home=/home/test, shell=/bin/bash
当然,如果通过其他方式创建用户(例如,通过/etc/passwd
直接编辑),那么您就没那么幸运了。
您可以/etc/passwd
通过存储副本来始终监控更改,并在每次检查时将其与旧副本进行比较。
答案4
我不知道用户创建时间,但第一个用户登录应该是/var/log/auth.log
。假设用户在创建用户后立即登录以设置其密码。用户主目录中的任何内容都不可靠,因为用户可以覆盖它。