Linux如何找出用户的创建时间
在Linux系统中,如何找到用户创建的时间呢? 其实是没有标准方法查找用户创建时间。下面再搜索了一些资料后,自己验证并测试了一下这些方法,仅供参考:
1:如果创建的用户有家目录,那么可以ls -l /home/<username>/.bash_logout 来找到用户的创建时间。
[root@DB-Server ~]# cat /etc/shadow | grep test
test:$1$WL5jXsvt$bJqebY44KjmhaLjaFkB1f/:16972:0:99999:7:::
[root@DB-Server ~]# cat /etc/passwd | grep test
test:x:501:501::/home/test:/bin/bash
[root@DB-Server ~]# ls -l /home/test/.bash_logout
-rw-r--r-- 1 test test 33 Jun 19 23:39 /home/test/.bash_logout
[root@DB-Server ~]#
如上所示,test用户于6月19号 23:39创建。这种方法对于没有家目录的用户,显然无法获取其创建时间。
2:如果创建的用户有家目录,那么可以用ls -ld /home/username/
[root@DB-Server ~]# ls -ld /home/test
drwx------ 3 test test 4096 Jun 19 23:39 /home/test
3:查看/var/log/secure相关日志,查看用户的创建时间
如下所示,可以看到用户test的创建时间为2016-06-19 23:39。但是这个方法只能对最近创建的用户才有效,因为/var/log/secure会循环覆盖。时间较早创建的用户根本无法从这些日志里面找到。
4:在/etc/shadow文件里面,第三个字段标识表示密码修改日期:这个是表明上一次修改密码的日期与1970-1-1相距的天数。如果账户自创建后,没有修改过密码,就可以使用这个字段来查找账号创建日期。
[root@DB-Server ~]# awk -F ":" '{print $1, $3}' /etc/shadow | grep kerry
kerry 16439
[root@DB-Server ~]# ls -l /home/kerry/.bash_logout
-rw-r--r-- 1 kerry kerry 33 Jan 4 2015 /home/kerry/.bash_logout
[root@DB-Server ~]# date -d "1970-01-01 16439 days" "+%Y/%m/%d %H:%M:%S"
2015/01/04 00:00:00
[root@DB-Server ~]# passwd kerry
Changing password for user kerry.
New UNIX password:
BAD PASSWORD: it is too simplistic/systematic
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@DB-Server ~]# awk -F ":" '{print $1, $3}' /etc/shadow | grep kerry
kerry 16972
You have new mail in /var/spool/mail/root
[root@DB-Server ~]# date -d "1970-01-01 16972 days" "+%Y/%m/%d %H:%M:%S"
2016/06/20 00:00:00
[root@DB-Server ~]#
方法5:使用aureport命令查看。但是这个命令,对于有些账号也不能查到相当相关信息。
[root@DB-Server ~]# aureport -au | grep test
69. 01/18/2016 23:25:42 test ? pts/1 /bin/su yes 99
70. 01/18/2016 23:26:22 test 192.168.42.1 ssh /usr/sbin/sshd yes 107
71. 01/18/2016 23:26:22 test 192.168.42.1 ssh /usr/sbin/sshd no 108
如上所示,这些方法都不是标准方法,在有些场景可能会失效,那么最好的方法是在创建用户时,在系统或文档里面登记,记录这些账号的创建时间、创建原因以及用途。另外,创建账号时最好使用参数-c对其进行注释。
参考资料:
Linux如何找出用户的创建时间的更多相关文章
- 如何在 Linux 中找出最近或今天被修改的文件
1. 使用 ls 命令,只列出你的 home 文件夹中今天的文件. ls -al --time-style=+%D | grep `date +%D` 其中: -a- 列出所有文件,包括隐藏文件 -l ...
- Oracle中找出用户的上次登录时间
可以使用如下sql语句: select t1.username,t1.logon_time last_logon_time,t2.account_status,created 账号创建时间 from ...
- 在 Linux 上找出并解决程序错误的主要方法【转】
转自:https://www.ibm.com/developerworks/cn/linux/sdk/l-debug/index.html 本文讨论了四种调试 Linux 程序的情况.在第 1 种情况 ...
- 如何在 Linux 中找出 CPU 占用高的进程
1) 怎样使用 top 命令找出 Linux 中 CPU 占用高的进程 在所有监控 Linux 系统性能的工具中,Linux 的 top 命令是最好的也是最知名的一个.top 命令提供了 Linux ...
- 在 Linux 中找出 CPU 占用高的进程
列出系统中 CPU 占用高的进程列表来确定.我认为只有两种方法能实现:使用 top 命令 和 ps 命令.出于一些理由,我更倾向于用 top 命令而不是 ps 命令.但是两个工具都能达到你要的目的,所 ...
- [Linux] 复制文件夹下指定创建时间的文件
暂时不知道什么命令可以达到这个目标,目前的方法是分步进行: 首先,找出指定创建时间内的文件名 例如在imgs文件夹中,找出创建时间在一天内的文件 > feb_files.txt 然后将这些文件复 ...
- 【Linux】找出文件之间的差异
使用命令comm可以找出2个文件之间的差异 现在有文件如下: Linux:/qinys # cat A.txt apple lemon onion orange pear Linux:/qinys # ...
- Linux下找出吃内存的方法总结
Linux下查询进程占用的内存方法总结,假设现在有一个「php-cgi」的进程 ,进程id为「25282」. 现在想要查询该进程占用的内存大小.linux命令行下有很多的工具进行查看,现总结常见的几种 ...
- Linux中找出占用内存最多的前N个进程
一.使用ps命令 ps -aux | sort -k4nr | head -N *命令详解: 1. head:-N可以指定显示的行数,默认显示10行. 2. ps:参数a指代all——所有的进程,u指 ...
随机推荐
- http 错误代码表
所有 HTTP 状态代码及其定义. 代码 指示 2xx 成功 200 正常:请求已完成. 201 正常:紧接 POST 命令. 202 正常:已接受用于处理,但处理尚未完成. 2 ...
- 1Z0-053 争议题目解析705
1Z0-053 争议题目解析705 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 705.View Exhibit1 to examine the DATA disk group ...
- JS查找数组中出现的位置及个数
查找某个值在数组中出现的位置 var attr = [1,4,5,3,2,7,6,9]; var zhao = 8; var sy = -1; for(var i=0;i<attr.length ...
- 【JUC】JDK1.8源码分析之SynchronousQueue(九)
一.前言 本篇是在分析Executors源码时,发现JUC集合框架中的一个重要类没有分析,SynchronousQueue,该类在线程池中的作用是非常明显的,所以很有必要单独拿出来分析一番,这对于之后 ...
- mysql小数格式化正确方法
用到小数格式化,mysql了解很肤浅,只会简单的sql语句,于是百度,发现大家都是转载同一个文章,好无语. 而且,结果验证还是不正确,查了官方api,终于写出来了. 另外,还是保存下百度的几个方法: ...
- 这些Javascript知识点,面试和平时开发都需要
No1.语法和类型 1.声明定义 变量类型:var,定义变量:let,定义块域(scope)本地变量:const,定义只读常量. 变量格式:以字母.下划线“_”或者$符号开头,大小写敏感. ...
- Python_Day_05 计数器(counter),有序字典(OrderDict),默认字典(defaultdict),可命名元祖(namedtuple),双向队列(deque),单项队列(deuqe.Queue)
Counter(计数器) 是一个字典的子类,存储形式同样为字典,其中存储的键为字典的元素,值为元素出现的次数,在使用之前我们需要先导入文件 import collections 初始化一个计数器 im ...
- 实际案例:在现有代码中通过async/await实现并行
一项新技术或者一个新特性,只有你用它解决实际问题后,才能真正体会到它的魅力,真正理解它.也期待大家能够多分享解一些解决实际问题的内容. 在我们遭遇“黑色30秒”问题的过程中,切身体会到了异步的巨大作用 ...
- 自己实现简单的AOP(五)使Demo适应webApi、亦可完成属性自动注入
在前文的Demo中,webApi的Controller是不能自动注入的,原因是 IHttpController 和 IController 是通过两个不同的途径进行激活的. IHttpControll ...
- securityPolicy与安全策略等级配置
securityPolicy配置节是定义一个安全策略文件与其信任级别名称之间的映射的集合.配置如下所示 其中name是指定映射到策略文件的命名的安全级别,一般的值有Full,Hight,Medium, ...


