在Linux系統中,如何找到用戶創建的時間呢? 其實是沒有標準方法查找用戶創建時間。下麵再搜索了一些資料後,自己驗證並測試了一下這些方法,僅供參考: 1:如果創建的用戶有家目錄,那麼可以ls -l /home//.bash_logout 來找到用戶的創建時間。 [root@DB-Server ~]#... ...
在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對其進行註釋。
參考資料: