6 個簡單的方式來檢視 Linux 中的使用者名稱和其它資訊
這是一個非常基礎的話題,在 Linux 中,每個人都知道如何使用 id
來查詢使用者資訊。一些使用者也從 /etc/passwd
檔案中過濾使用者資訊。
我們還使用其它命令來獲取使用者資訊。
你可能會問,為什麼要討論這個基礎話題呢?即使我也這麼認為,因為除了這兩個之外沒有更好的方法了,但是我們也有一些不錯的選擇。
與這兩者相比,那些命令提供了更詳細的資訊,這對於新手非常有幫助。
這是幫助管理員在 Linux 中查詢使用者資訊的基本命令之一。Linux 中的一切都是檔案,甚至使用者資訊都儲存在一個檔案中。
建議閱讀:
- 怎樣在 Linux 上檢視使用者建立的日期
- 怎樣在 Linux 上檢視使用者屬於哪個組
- 怎樣在 Linux 上檢視強制使用者在下次登入時改變密碼
所有使用者都被新增在 /etc/passwd
檔案中,這裡保留了使用者名稱和其它相關詳細資訊。在 Linux 中建立使用者時,使用者詳細資訊將儲存在 /etc/passwd
檔案中。passwd 檔案將每個使用者詳細資訊儲存為一行,包含 7 欄位。
我們可以使用以下 6 種方法來檢視使用者資訊。
id
:為指定的使用者名稱列印使用者和組資訊。getent
:從 Name Service Switch 庫中獲取條目。/etc/passwd
: 檔案包含每個使用者的詳細資訊,每個使用者詳情是一行,包含 7 個欄位。finger
:使用者資訊查詢程式lslogins
:顯示系統中已有使用者的資訊compgen
:是 bash 內建命令,它將顯示使用者的所有可用命令。
1) 使用 id 命令
id
代表身份。它輸出真實有效的使用者和組 ID。也可以輸出指定使用者或當前使用者的使用者和組資訊。
# id daygeek
uid=1000(daygeek) gid=1000(daygeek) groups=1000(daygeek),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),118(lpadmin),128(sambashare)
下面是上述輸出的詳細資訊:
uid (1000/daygeek)
: 它顯示使用者 ID 和使用者名稱gid (1000/daygeek)
: 它顯示使用者的組 ID 和名稱groups
: 它顯示使用者的附加組 ID 和名稱
2) 使用 getent 命令
getent
命令顯示 Name Service Switch 庫支援的資料庫中的條目,這些庫在 /etc/nsswitch.conf
中配置。
getent
命令會顯示類似於 /etc/passwd
檔案的使用者詳情,它將每個使用者的詳細資訊放在一行,包含 7 個欄位。
# getent passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
magesh:x:502:503:2g Admin - Magesh M:/home/magesh:/bin/bash
thanu:x:503:504:2g Editor - Thanisha M:/home/thanu:/bin/bash
sudha:x:504:505:2g Editor - Sudha M:/home/sudha:/bin/bash
下面是關於 7 個欄位的詳細資訊:
magesh:x:502:503:2g Admin - Magesh M:/home/magesh:/bin/bash
Username (magesh)
: 已建立的使用者名稱。字元長度應該在 1 到 32 之間。Password (x)
: 它表明加密密碼儲存在/etc/shadow
檔案中。User ID (UID-502)
: 它表示使用者 ID(UID),每個使用者應包含唯一的 UID。UID (0-Zero) 保留給 root,UID(1-99)是為系統使用者保留的,UID(100-999)是為系統賬戶/組保留的。Group ID (GID-503)
: 它表示組 ID(GID),每個組應該包含唯一的 GID,它儲存在/etc/group
檔案中。User ID Info (2g Admin - Magesh M)
: 它表示命令欄位。這個欄位可用於描述使用者資訊。Home Directory (/home/magesh)
: 它表示使用者家目錄。shell (/bin/bash)
: 它表示使用者的 bash shell。
如果你只想在 getent
命令的輸出中顯示使用者名稱,使用以下命令格式:
# getent passwd | cut -d: -f1
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
uucp
operator
games
gopher
magesh
thanu
sudha
只顯示使用者的家目錄,使用以下命令格式:
# getent passwd | grep '/home' | cut -d: -f1
centos
prakash
magesh
thanu
sudha
3) 使用 /etc/passwd 檔案
/etc/passwd
是一個文字檔案,它包含每個使用者登入 Linux 系統所必需的的資訊。它維護使用者的有用資訊,如使用者名稱,密碼,使用者 ID,組 ID,使用者 ID 資訊,家目錄和 shell。/etc/passwd
檔案將每個使用者詳細資訊放在一行中,包含 7 個欄位,如下所示:
# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
magesh:x:502:503:2g Admin - Magesh M:/home/magesh:/bin/bash
thanu:x:503:504:2g Editor - Thanisha M:/home/thanu:/bin/bash
sudha:x:504:505:2g Editor - Sudha M:/home/sudha:/bin/bash
以下是 7 個欄位的詳細資訊。
magesh:x:502:503:2g Admin - Magesh M:/home/magesh:/bin/bash
欄位資訊同上。
如果你只想顯示 /etc/passwd
檔案中的使用者名稱,使用以下格式:
# cut -d: -f1 /etc/passwd
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
uucp
operator
games
gopher
magesh
thanu
sudha
只顯示使用者的家目錄,使用以下格式:
# cat /etc/passwd | grep '/home' | cut -d: -f1
centos
prakash
magesh
thanu
sudha
4) 使用 finger 命令
finger
命令顯示有關係統使用者的資訊。它顯示使用者的真實姓名,終端名稱和寫入狀態(如果沒有寫入許可權,那麼最為終端名稱後面的 *
),空閒時間和登入時間。
# finger magesh
Login: magesh Name: 2g Admin - Magesh M
Directory: /home/magesh Shell: /bin/bash
Last login Tue Jul 17 22:46 (EDT) on pts/2 from 103.5.134.167
No mail.
No Plan.
以下是上述輸出的詳細資訊:
Login
: 使用者名稱Name
: 附加/有關使用者的其它資訊Directory
: 使用者家目錄的資訊Shell
: 使用者的 shell 資訊LAST-LOGIN
: 上次登入日期和其它資訊
5) 使用 lslogins 命令
它顯示系統已知使用者的資訊。預設情況下,它將列出系統中所有使用者的資訊。
lslogins
使用程式的靈感來自於 logins
實用程式,該實用程式最初出現在 FreeBSD 4.10 中。
# lslogins -u
UID USER PWD-LOCK PWD-DENY LAST-LOGIN GECOS
0 root 0 0 00:17:28 root
500 centos 0 1 Cloud User
501 prakash 0 0 Apr12/04:08 2018/04/12
502 magesh 0 0 Jul17/22:46 2g Admin - Magesh M
503 thanu 0 0 Jul18/00:40 2g Editor - Thanisha M
504 sudha 0 0 Jul18/01:18 2g Editor - Sudha M
以下是上述輸出的詳細資訊:
UID
: 使用者 idUSER
: 使用者名稱PWD-LOCK
: 密碼已設定,但是已鎖定PWD-DENY
: 登入密碼是否停用LAST-LOGIN
: 上次登入日期GECOS
: 有關使用者的其它資訊
6) 使用 compgen 命令
compgen
是 bash 內建命令,它將顯示所有可用的命令,別名和函式。(LCTT 譯註:它的 -u
引數可以列出系統中使用者。)
# compgen -u
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
uucp
operator
games
gopher
magesh
thanu
sudha
via: https://www.2daygeek.com/6-easy-ways-to-check-user-name-and-other-information-in-linux/
作者:Prakash Subramanian 選題:lujun9972 譯者:MjSeven 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出
相關文章
- 如何檢視字型詳細資訊,修改字型名稱?
- Git 檢視和修改使用者名稱與郵箱Git
- oracle中的某一個使用者名稱修改Oracle
- linux中記錄GIT使用者名稱密碼的方法LinuxGit密碼
- Linux 下檢視系統資源的更好方式Linux
- Linux 安全資訊檢視Linux
- 使用p名稱空間和c名稱空間的XML快捷方式XML
- Linux檢視環境變數當前資訊和檢視命令Linux變數
- 檢查和收集 Linux 硬體資訊的 7 個命令Linux
- 在Linux中,如何檢視當前系統的版本資訊?Linux
- win10檢視計算機名稱的方法Win10計算機
- 建立一個日期 + 字元的使用者名稱字元
- WebRTC:一個視訊聊天的簡單例子Web單例
- 轉:Linux檢視GPU資訊和使用情況LinuxGPU
- html+JS+php實現簡單的註冊使用者名稱驗證HTMLJSPHP
- Linux中常用的檢視系統資訊的命令Linux
- 查詢 Linux 發行版名稱、版本和核心詳細資訊Linux
- 檢視 Linux 系統資訊Linux
- 檢查使用者名稱是否使用介面
- Vue檢查使用者名稱是否使用Vue
- springboot 多資料來源,最簡單的整合方式Spring Boot
- Linux系統中的程序和埠檢視命令Linux
- 檢視錶名和表的行數
- 17.django新增檢查使用者名稱和手機號數量介面+vue檢查使用者名稱,手機號是否重複DjangoVue
- Linux系統中如何檢視塊裝置資訊?Linux
- Linux 下檢視系統當前登入使用者資訊Linux
- 檢視Linux系統版本資訊Linux
- linux:檢視使用中的埠Linux
- Java語言做一個簡單的登陸介面實現使用者名稱和密碼的登陸以及介面之間的跳轉Java密碼
- linux 檢視修改主機名Linux
- PostgreSQL統計資訊的幾個重要檢視SQL
- mybatis入門程式:mybatis根據使用者名稱稱模糊查詢使用者資訊MyBatis
- Jaxb - 生成帶名稱空間和節點字首的Xml的方式XML
- ora-12631:使用者名稱檢索失敗
- Linux系統如何檢視版本資訊Linux
- Linux檢視相關係統資訊Linux
- linux檢視伺服器配置資訊Linux伺服器
- Linux裝置名稱的查詢Linux