一、用戶信息文件/etc/passwd文件剖析
【查看/etc/passwd的幫助信息 man 5 passwd】
【查看系統中所有的用戶數 wc -l /etc/passwd】
文件格式:
root:x:0:0:root:/root:/bin/bash 【7部分】
用戶名:密碼位:UID【用戶的數字標識】:GID【缺省組標識號】:注釋性的描述信息:宿 主目錄:shell
Linux用戶分類:
超級用戶(root,UID=0)
普通用戶(UID=500~60000) //最大值在理論上是可以更改的
偽用戶/特殊用戶(UID=1~499)
偽用戶特點:
1、偽用戶與系統和程序服務相關
如:bin、daemon、shutdown、halt等,Linux系統默認的偽用戶
如:mail、news、games、apache、ftp、mysql及sshd等,與Linux 系統進程相關的偽用戶
【像MySQL是在安裝時自動添加到配置文件中的。】
2、偽用戶通常不需要也或無法登錄系統
3、可以沒有宿主目錄
【偽用戶機制確保了系統的安全!】
用戶組說明:
1、每個用戶都至少屬於一個用戶組
【在管理系統時,每個用戶都應該隸屬與自己的組,這樣,每個用戶才會“各司其職”,擁有自己 所特有的權限,才不至於“天下大亂”】
2、每個用戶組可以包括多個用戶,一個用戶可以同時隸屬多個組
3、同一組的用戶享有該組所共有的權限
其他說明:
注釋性描述 例如存放用戶全名、該名用戶所隸屬的部門等信息
宿主目錄 用戶登錄系統後的缺省目錄
命令解釋器 用戶使用的Shell,默認為bash
實例:手工添加用戶
【在了解了/etc/passwd文件結構之後,我們不用命令useradd,就可以手工添加用戶】
(1)添加 tom::502:502:test user:/home/tom:/bin/bash一行
(2)創建tom的宿主目錄:mkdir /home/tom
(3)改變該目錄的所有者: chown tom /home/tom
(4)編輯/etc/shadow
添加tom::16023:0:99999:7:::
(5)cp /ect/skel/*.* /home/tom
【新用戶信息文件:/etc/skel,這裡面保存了新用戶的一些配置文件,只要將其全部拷貝到/home/tom下面,則該用戶與useradd來的用戶無異】
(6)passwd tom //生成tom的密碼
二、用戶密碼保存文件/etc/shadow剖析
【查看/etc/shadow文件幫助信息: man 5 shadow】
文件格式:
xiaofang:irKpphTBcTrJy.yFrB9I.wcgN50mQOmvl.M.:16023:0:99999:7::: 用戶名:加密密碼:最後一次修改時間:最小時間間隔:最大時間間隔:警告時間:帳號閒置時間:失效時間:標志【一般不使用】
其他信息說明:
最小時間間隔:兩次修改密碼之間的最小天數
最大時間間隔:密碼保持有效的最多天數,可以強行使用戶修改密碼
三、Linux密碼機制
【查看root密碼信息 grep root /etc/passwd /etc/shadow】
將密碼回寫回去:pwunconv 【商業版的UNIX並不提供這個工具】
此時/etc/shadow文件不存在了
密碼轉換 :pwconv
此時/etc/shadow又回來了
即:每當系統創建密碼時,總是自動執行密碼轉換動作。
【驗證用戶名時檢驗/etc/passwd文件, 驗證密碼時校驗:/etc/shadow】
四、用戶配置文件/etc/login.defs簡單分析
CREATE_HOME yes //創建用戶的同時,創建宿主目錄
U MASK 077 //缺省用戶創建文件或目錄的權限
【各種選項都會在語句上面有詳細的說明】
用戶配置文件/etc/default/useradd簡單分析
INACTIVE=-1 //表示用戶創建時默認是不被禁用的,0-默認禁用
EXPIRE= //帳號的失效時間
SHELL=/bin/shell //用戶默認shell,將其改為/sbin/nologin,則新用戶默認無法登錄
SKEL=/etc/skel //新添加用戶的默認配置文件原來保存的位置
CREATE_MAIL_SPOOL=yes //添加用戶時,是否創建保存用戶郵件的文件
四、登錄信息
/etc/motd 用戶登錄之後顯示的信息,可以用於內部人員的通知信息
/etc/issue 用戶未登錄時顯示的信息,不建議使用原來的內容,可以用來顯示公共信息
【附:生成加密的密文:echo “123456” | md5sum】