本文將介紹 11 種在 linux 系統查找用戶相關信息的有用方法。這裏,我們會講解在系統中獲取一個用戶賬戶詳細信息、展示登錄詳細信息以及用戶行為數據的命令。
也可以讀一讀: 如何借助系統用戶來實時監控 Linux 命令的執行情況
如果你想要在 Linux 中添加用戶,可以使用 useradd 工具 ,如果希望修改一個現有用戶賬戶的屬性,就可使用下面的指南中所提到的 usermod 命令:
-
關於 useradd 命令的 15 個實用示例
-
關於 usermod 命令的 15 個實用示例
首先,我們會來看看如何使用命令查找一個用戶的賬戶信息,然後再來跟大家講解查看登錄詳細信息的那些命令。
1. id 命令
id 是用來展示一個實時活動用戶以及組 ID 的命令行工具,如下所示:
$ id tecmint uid=1000(tecmint) gid=1000(tecmint) groups=1000(tecmint),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),130(sambashare)
2. groups 命令
groups 命令可以被用來展示一個用戶所歸屬的所有組的信息,像下面這樣:
$ groups tecminttecmint : tecmint adm cdrom sudo dip plugdev lpadmin sambashare
3. finger 命令
finger 命令可以被用來查找 Linux 上的一個用戶的信息。在許多 Linux 系統上,它並沒被預裝。
想要在你的系統上安裝它,可以在終端裏運行這個命令:
$ sudo apt install finger #Debian/ubuntu $ sudo yum install finger #RHEL/CentOS $ sudo dnf install finger #Fedora 22+
它會顯示出一個用戶的真實名稱、主目錄、shell,登錄的名稱以及時間,還有如下所示的許多信息:
$ finger tecmintLogin: tecmint Name: TecMint Directory: /home/tecmint Shell: /bin/bash On since Fri Sep 22 10:39 (IST) on tty8 from :0 2 hours 1 minute idle No mail. No Plan.
4. getent 命令
getent 是一個可以從特定系統數據庫的 Name Service Switch (NSS 名字服務交換器) 庫獲取到信息的命令行工具。
要獲取一個用戶賬戶的詳細信息,可以像下面這樣使用 passwd 數據庫和 username 來做到。
$ getent passwd tecminttecmint:x:1000:1000:TecMint,,,:/home/tecmint:/bin/bash
5. grep 命令
grep 命令是一個強大的模式搜索工具,可以在絕大多數 Linux 系統上使用。你可以用它來從系統賬戶文件 /etc/passwd 中查找出關於一個特定用戶的信息,如下所示:
$ grep -i tecmint /etc/passwdtecmint:x:1000:1000:TecMint,,,:/home/tecmint:/bin/bash
6. lslogins 命令
lslogins 命令會展示出系統中現有用戶的相關信息, -u 標記可用來標識只展示用戶的賬戶。
$ lslogins -uUID USER PROC PWD-LOCK PWD-DENY LAST-LOGIN GECOS 0 root 144 root 1000 tecmint 70 10:39:07 TecMint,,, 1001 aaronkilik 0 1002 john 0 John Doo
7. users 命令
users 命令會展示當前已經登錄系統的所有用戶的用戶名,像這樣:
$ userstecmint aaron
8. who 命令
who 命令可以用來展示那些登錄了系統的用戶,包括了它們是從哪裏連接到系統上來的終端信息。
$ who -utecmint tty8 2017-09-22 10:39 02:09 2067 (:0)
9. w command
w 命令會展示出所有登錄了系統的用戶,還有它們都做了些什麽事情。
$ w12:46:54 up 2:10, 1 user, load average: 0.34, 0.44, 0.57 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT tecmint tty8 :0 10:39 2:10m 4:43 0.46s cinnamon-sessio
10. last 或者 lastb 命令
last/lastb 命令會展示一個最近登錄系統的用戶列表。
$ last OR$ last -a #show hostname on the last column
最近登錄系統的用戶列表
tecmint tty8 Fri Sep 22 10:39 gone - no logout :0 reboot system boot Fri Sep 22 10:36 still running 4.4.0-21-generic tecmint tty8 Thu Sep 21 10:44 - down (06:56) :0 reboot system boot Thu Sep 21 10:42 - 17:40 (06:58) 4.4.0-21-generic tecmint tty8 Wed Sep 20 10:19 - down (06:50) :0 reboot system boot Wed Sep 20 10:17 - 17:10 (06:52) 4.4.0-21-generic tecmint pts/14 Tue Sep 19 15:15 - 15:16 (00:00) tmux(14160).%146 tecmint pts/13 Tue Sep 19 15:15 - 15:16 (00:00) tmux(14160).%145 ...
要是想顯示那些在特定時間訪問過系統的用戶,可以像下面這樣使用 -p 選項:
$ last -ap nowtecmint tty8 Fri Sep 22 10:39 gone - no logout :0 reboot system boot Fri Sep 22 10:36 still running 4.4.0-21-generic wtmp begins Fri Sep 1 16:23:02 2017
11. lastlog 命令
lastlog 命令可以用來查找最近登錄那些或者某個特定用戶的詳細信息,如下所示:
$ lastlog OR$ lastlog -u tecmint #show lastlog records for specific user tecmint
最近登錄用戶的記錄:
Username Port From Latest root **Never logged in** kernoops **Never logged in** pulse **Never logged in** rtkit **Never logged in** saned **Never logged in** usbmux **Never logged in** mdm **Never logged in** tecmint pts/1 127.0.0.1 Fri Jan 6 16:50:22 +0530 2017 ..
介紹到此為止!如果你還知道其它的什麽命令行技巧或者是某個查看用戶詳情的命令,可以跟我們共享一下哦。
你也會發現下面這幾篇文章也很實用:
-
《如何管理 Linux 系統中的用戶和組》
-
《如何刪除 Linux 中的用戶賬戶和主目錄》
-
《在 Linux 中修改默認用戶 Shell 的 3 種方法》
-
《Linux 中如何中斷或者阻止用戶的登錄行為 》
在本文中,我們描述了在一個 Linux 系統上查找用戶和登錄相關信息的幾種方法。你可以通過在文章下面留言的方式向我們反饋問題或者建議。
Tags: 命令 用戶 信息 一個 tecmint Linux
文章來源: