在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对其进行注释。

 

参考资料:

http://linux.ittoolbox.com/groups/technical-functional/linuxadmin-l/how-to-find-out-when-a-user-is-created-in-linux-4677886#M4678008

 

Linux如何找出用户的创建时间的更多相关文章

  1. 如何在 Linux 中找出最近或今天被修改的文件

    1. 使用 ls 命令,只列出你的 home 文件夹中今天的文件. ls -al --time-style=+%D | grep `date +%D` 其中: -a- 列出所有文件,包括隐藏文件 -l ...

  2. Oracle中找出用户的上次登录时间

    可以使用如下sql语句: select t1.username,t1.logon_time last_logon_time,t2.account_status,created 账号创建时间 from ...

  3. 在 Linux 上找出并解决程序错误的主要方法【转】

    转自:https://www.ibm.com/developerworks/cn/linux/sdk/l-debug/index.html 本文讨论了四种调试 Linux 程序的情况.在第 1 种情况 ...

  4. 如何在 Linux 中找出 CPU 占用高的进程

    1) 怎样使用 top 命令找出 Linux 中 CPU 占用高的进程 在所有监控 Linux 系统性能的工具中,Linux 的 top 命令是最好的也是最知名的一个.top 命令提供了 Linux ...

  5. 在 Linux 中找出 CPU 占用高的进程

    列出系统中 CPU 占用高的进程列表来确定.我认为只有两种方法能实现:使用 top 命令 和 ps 命令.出于一些理由,我更倾向于用 top 命令而不是 ps 命令.但是两个工具都能达到你要的目的,所 ...

  6. [Linux] 复制文件夹下指定创建时间的文件

    暂时不知道什么命令可以达到这个目标,目前的方法是分步进行: 首先,找出指定创建时间内的文件名 例如在imgs文件夹中,找出创建时间在一天内的文件 > feb_files.txt 然后将这些文件复 ...

  7. 【Linux】找出文件之间的差异

    使用命令comm可以找出2个文件之间的差异 现在有文件如下: Linux:/qinys # cat A.txt apple lemon onion orange pear Linux:/qinys # ...

  8. Linux下找出吃内存的方法总结

    Linux下查询进程占用的内存方法总结,假设现在有一个「php-cgi」的进程 ,进程id为「25282」. 现在想要查询该进程占用的内存大小.linux命令行下有很多的工具进行查看,现总结常见的几种 ...

  9. Linux中找出占用内存最多的前N个进程

    一.使用ps命令 ps -aux | sort -k4nr | head -N *命令详解: 1. head:-N可以指定显示的行数,默认显示10行. 2. ps:参数a指代all——所有的进程,u指 ...

随机推荐

  1. Oracle 数据库重放(Database Replay)功能演示

    我们可以捕获生产环境的工作量,在测试环境上重放,从而在不影响生产环境的前提下做一些改动测试. 捕获:需要Oracle版本为10.2.0.4或更高. 重放:需要Oracle版本为11g Release ...

  2. 微信扫码支付+Asp.Net MVC

    这里的扫码支付指的是PC网站上面使用微信支付,也就是官方的模式二,网站是Asp.net MVC,整理如下.(demo在最下方) 一.准备工作 使用的微信API中的统一下单方法,关键的参数是‘公众账号I ...

  3. $\LaTeX$笔记:Section 编号方式(数字、字母、罗马)&计数器计数形式修改

    $\LaTeX$系列根目录: Latex学习笔记-序 IEEE模板中Section的编号是罗马数字,要是改投其他刊物的话可能得用阿拉伯数字,所以可以在导言部分做如下修改(放在导言区宏包调用之后): \ ...

  4. 自己实现简单的AOP(一)简介

    AOP 和 OOP,在我看来是两种相辅相成的技术,作为OOP的补充,AOP 有着自己特殊的应用场景. 假设,我们需要在Service层实现以下几项基本功能: /// <para>1.自动管 ...

  5. 移动端API架构 统一Proxy还是各自为政?

    今天首先回答上一篇的问题: 为什么APP通过运营商接入网络,连通率会那么差? 1. 域名缓存问题 运营商的localdns会缓存域名的解析结果,不向权威DNS递归查询解析 为什么要这么干呢? 1)运营 ...

  6. js动态的把左边列表添加到右边,可上下移动。

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. 动态加载js和css

    开发过程中经常需要动态加载js和css,今天特意总结了一下常用的方法. 1.动态加载js 方法一:动态加载js文件 // 动态加载js脚本文件 function loadScript(url) { v ...

  8. tarjan讲解(用codevs1332(tarjan的裸题)讲解)

    主要借助这道比较裸的题来讲一下tarjan这种算法 tarjan是一种求解有向图强连通分量的线性时间的算法.(用dfs来实现) 如果两个顶点可以相互通达,则称两个顶点强连通.如果有向图G的每两个顶点都 ...

  9. 十二种获取Spring的上下文环境ApplicationContext的方法

    转载:https://my.oschina.net/u/2391658/blog/729414

  10. CSS3与页面布局学习笔记(七)——前端预处理技术(Less、Sass、CoffeeScript、TypeScript)

    CSS不像其它高级语言一样支持算术运算.变量.流程控制与面向对象特性,所以CSS样式较多时会引起一些问题,如修改复杂,冗余,某些别的语言很简单的功能实现不了等.而javascript则是一种半面向对象 ...