/etc/passwd 存放帳戶信息:linux
root:x:0:0:root:/root:/bin/bash
jianing:x:1011:100::/home/jianing:/bin/bash
username:password:uid:gid:allname:homedir:shellshell
用戶名:密碼:用戶ID:組ID:用戶全名:主目錄:登陸shellapache
密碼:存在/etc/shadow中,存入後者的就用x表示,若是是「!」說明此用戶不能用密碼登陸tomcat
UID:就是用戶識別碼(ID),當UID爲0時說明其帳號是管理員身份,1-499是保留給系統使用的主要是一些系統服務,500-65535是給通常用戶的。安全
GID:與/etc/group文件有關,就是用戶初始化組的ID。bash
用戶全名:用戶全名服務器
家目錄:就是該用戶的主目錄網絡
Shell:SHELL腳本性能
/etc/shadow 存放用戶密碼ui
root:$2a$32$3lnW8AXwIZy.Ibh0T2k3huMil/ZGEOQwe3EvJJzfnIcnPzxTamjke:14916::::::
jianing:$2a$10$AmxqDaxMITQoEr4HGcM/zO6JzJWMVcHpxmXdWKVOX5Tb/WWQ/m8wK:14853:0:99999:7:::
aj:!:15006:0:99999:7:::
username:password:last_change:min_change:max_change:warm:failed_expire:expiration:reserved
帳號名稱:密碼:最近更改密碼的日期(from 1974-1-1):密碼不可更改的天數:密碼須要從新更改的天數:密碼更改期限前的警告日期:密碼過時的寬限時間:帳號失效時間:保留
/etc/group 用戶組信息
root:x:0:
test:!:1005:u01,u02,u03,cvsroot
groupname:password:gid:members
組名:密碼:組ID:成員
linux用戶和/etc/passwd文件
passwd文件是以行爲單位的配置文件,每行定義系統上的一個用戶,行內分爲字段,字段之間由一個冒號隔開。這些字段依次爲:
用戶名:密碼:用戶ID:主要組ID:GECOS:主目錄:登陸shell
字段解釋:
用戶名:就是一個用戶名,登陸時候用的
密碼:在舊的UNIX系統上,這個字段含有用戶的加密密碼,爲了安全性,如今的linux均顯示爲x或*號
用戶ID:linux內核用於識別用戶的一個整數ID
主要組ID:linux內核用於識別用戶主要組的一個整數ID
GECOS:用戶全名,安裝linux時若是不輸入全名,則顯示爲跟用戶名同樣,若是輸入,則顯示爲全名(不可用於登陸)
主目錄:用戶登陸時,他的登陸Shell將使用這個目錄做爲當前工做目錄
登陸Shell:用戶登陸時的默認Shell,在redhat 企業版中,登陸shell一般是/bin/bash
一個/etc/passwd文件中的典型幾行數據
root:x:0:0:root:/root:/bin/bash
apache:x:48:48:Apache:/var/www:/sbin/nologin
tomcat:x:91:91:Apache Tomcat:/usr/share/tomcat6:/bin/sh
說明:第2個字段用戶加密後的密碼在現代linux中不顯示的,顯示爲"x"或"*"號
如需瞭解passwd詳細信息,可運行 man 5 passwd 命令來查看
linux用戶密碼和/etc/shadow文件
之前用戶的加密都是被保存在/etc/passwd文件中的第2個字段中,而且每一個用戶均可以讀取,隨着計算機性能的發展,暴力破解變得相對比較容易,所以,如今linux採用一種「影子密碼」,用戶的密碼被保存在專門的/etc/shadow文件中,其權限不容許普通用戶查看,root用戶能夠查看,瞭解詳細信息可執行man 5 shadow。
/etc/shadow 文件信息存儲結構,字段依次爲
用戶名:加密密碼:上次更改密碼的時間:最小更改密碼間隔:密碼有效期限:密碼過時提示時間:密碼鎖按期:帳戶有效期:保留字段
/etc/shadow文件中幾行數據
root:$6$DgEqy0v1u0STl/ML$lmRzdT/Ad6PoNmahItTnvc1NwoBlvSLEriBDXyE4rhTGpFHweMTe/GkW5bSsAsVQjMLrsDAY5X.jr8NsE1Ekh1:15148:0:99999:7:::
lzgonline:$6$2ji/.tNs9lWLcAQu$dCsR22xAxHj6q9rDSE1w14KeflWmvS5.RDD2ro11/H55TIkM69ghyPZgazi.egaTuQhIWWgLPZMvcuSKb3vFs/:15148:0:99999:7:::
apache:!!:15148::::::
用戶使用passwd命令更改密碼時,若是不是root用戶,則passwd不接受任何參數和選項,即用戶只能更改本身的密碼。
3種類型的用戶
普通用戶:普通用戶是使用系統真實用戶人羣。普通用戶一般把/bin/bash做爲登陸Shell和/home的子目錄做爲主目錄。通常狀況下,普通用戶只在本身的主目錄和系統範圍內的臨時目錄裏(如/tmp和/var/tmp)建立文件。在redhat企業版linux中,普通用戶的用戶ID數一般大於500.
root用戶:用戶ID爲0的用戶,也被稱爲超級用戶,root用戶在系統上擁有徹底權限,能夠修改和刪除任何文件,能夠運行任何命令,能夠取消任何進程。root用戶負責增長和保留其餘用戶、配置硬件、添加系統軟件。雖然root用戶能夠在系統上的任何地方建立文件,但它也一般使用/root做爲主目錄
系統用戶:大多數linux系統保留一系列低UID值用戶做爲系統用戶,系統用戶不表明人,而表明系統的組成部分。例如,運行Apache網絡服務器的進程常常做爲用戶apache(見上面的passwd文件中apache用戶信息)來運行。系統用戶通常沒有登陸Shell,由於它不表明實際登陸的用戶。一樣,系統用戶的主目錄不多在/home中,而一般在屬於相關應用的系統目錄中。例如,用戶apache的主目錄是/var/www。在redhat企業版linux中,系統用戶的UID值範圍在1-499之間。
操做中經常使用linux命令
ps -aux //檢查進程用戶ID
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 2824 1408 ? Ss 22:27 0:01 /sbin/init
root 2 0.0 0.0 0 0 ? S 22:27 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 22:27 0:00 [migration/0]
root 4 0.0 0.0 0 0 ? S 22:27 0:00 [ksoftirqd/0]
ls -l //根據用戶名列出目錄全部者
[root@lzgonline lzgonline]# ls -l
總用量 36
drwxrwxr-x. 2 lzgonline lzgonline 4096 6月 23 22:50 coding
drwxr-xr-x. 2 lzgonline lzgonline 4096 6月 23 22:03 公共的
drwxr-xr-x. 2 lzgonline lzgonline 4096 6月 23 22:03 模板
drwxr-xr-x. 2 lzgonline lzgonline 4096 6月 23 22:03 視頻
ls -ln //根據用戶ID列出目錄全部者[root@lzgonline lzgonline]# ls -ln總用量 36drwxrwxr-x. 2 500 500 4096 6月 23 22:50 codingdrwxr-xr-x. 2 500 500 4096 6月 23 22:03 公共的drwxr-xr-x. 2 500 500 4096 6月 23 22:03 模板drwxr-xr-x. 2 500 500 4096 6月 23 22:03 視頻drwxr-xr-x. 2 500 500 4096 6月 23 22:03 圖片 說明:linux內核不保存擁有文件的用戶的用戶名,保存的是用戶ID,每次ls命令運行時,必須在/etc/passwd文件中查找用戶名與用戶ID映射,而後把用戶名對應到內核所提供的用戶ID上。