歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 在/etc/passwd中得到普通用戶列表

在/etc/passwd中得到普通用戶列表

日期:2017/2/28 16:07:08   编辑:Linux教程

/etc/passwd文件用來保存系統中當前所有的用戶信息,該文件對所有用戶都可見。在該文件中,每行信息代表一個用戶。每個用戶的信息由7部分組成:

用戶名:加密後的用戶密碼:用戶ID(UID):用戶所在組ID(GID):用戶全名以及用戶信息:用戶主目錄:該用戶登錄時所用的命令解釋器

在該文件中,有些用戶並不是用戶建立的,而是系統帳號。比如在上述passwd文件中,sys、bin等用戶就是系統所保留的用戶。

edsionte@edsionte-desktop:~$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
…………
guest:x:1001:1001:guest,,,,:/home/guest:/bin/bash
lc:x:1002:1002:lc,,,,:/home/lc:/bin/bash

現在有一個項目需求,即從/etc/passwd文件中將普通用戶的用戶名解析出來。要完成這個要求,關鍵是找出系統用戶和普通用戶之間的差別。在useradd命令的man手冊中關於-u選項有這樣的描述:

-u uid 使 用 者 的 ID 值 。 必 須 為 唯 一 的 ID 值 , 除 非 用 -o 選 項 。 數 字 不 可 為 負 值。預設 為 最 小 不 得 小 於 999 而 逐 次 增 加 。 0~ 999 傳 統 上 是 保 留 給 系 統 帳 號 使 用。

因此,可以通過UID來區分普通用戶和系統用戶,即UID大於999的為普通用戶,否則為系統用戶。

Copyright © Linux教程網 All Rights Reserved