用戶配置文件在Linux中主要是通過用戶配置文件來查看和修改用戶信息。初始組和附加組:初始組——就是指用戶一登錄就立刻擁有這個用戶組的相關許可權,每個用戶的初始組只能有一個,一般就是和這個用戶的用戶名相同的組名作為這個用戶的初始組;附加組——指用戶可以加入多個其他的用戶組,並擁有這些組的許可權,附加組可... ...
用戶配置文件
在Linux中主要是通過用戶配置文件來查看和修改用戶信息。
初始組和附加組:初始組——就是指用戶一登錄就立刻擁有這個用戶組的相關許可權,每個用戶的初始組只能有一個,一般就是和這個用戶的用戶名相同的組名作為這個用戶的初始組;附加組——指用戶可以加入多個其他的用戶組,並擁有這些組的許可權,附加組可以有多個。
用戶信息文件/etc/passwd
第1欄位:用戶名稱
第2欄位:密碼標誌
第3欄位:UID(用戶ID),0——超級用戶,1~499——超級用戶(偽用戶,不能用於登陸),500~65535——普通用戶
第4欄位:GID(用戶初始組ID)
第5欄位:用戶說明
第6欄位:家目錄,普通用戶——/home/用戶名,超級用戶:/root/
第7欄位:登錄之後的Shell
用戶信息文件/etc/shadow
第1欄位:用戶名
第2欄位:加密密碼,如果密碼位是“!!”或“*”代表沒有密碼,不能登錄
第3欄位:密碼最後一次修改日期,使用1970年1月1日作為標準時間,每過一天時間戳加1
第4欄位:兩次密碼的修改間隔時間(和第3欄位相比)
第5欄位:密碼有效期(和第3欄位相比)
第6欄位:密碼修改到期前的警告天數(和第5欄位相比)
第7欄位:密碼過期後的寬限天數(和第5欄位相比),0代表密碼過期後立即失效,-1則代表密碼永遠不會失效
第8欄位:賬號失效時間,要用時間戳表示
第9欄位:保留
時間戳換算:
把時間戳換算為日期:
date -d “1970-01-01 16066 days”
把日期換算為時間戳:
echo $(($(date –date=”2014/01/06”+%s)/86400+1))
組信息文件/etc/group
第1欄位:組名
第2欄位:組密碼標誌
第3欄位:GID
第4欄位:組中附加用戶
組密碼文件/etc/gshadow
第1欄位:組名
第2欄位:組密碼
第3欄位:組管理員用戶名
第4欄位:組中附加用戶
用戶管理相關文件
用戶家目錄
普通用戶:/home/用戶名/,所有者和所屬組都是此用戶,許可權是700;超級用戶:/root/,所有者和所屬組都是 root用戶,許可權是550。
用戶的郵箱
/var/spool/mail/用戶名/
用戶模板目錄
/etc/skel/
用戶管理命令(附加)
用戶預設值文件
/etc/default/useradd
GRUOP=100 #用戶預設組
HOME=/home #用戶家目錄
INACTIVE=-1 #密碼過期寬限天數(7)
EXPIRE= #密碼失效時間(8)
SHELL=/bin/bash #預設shell
SKEL=/etc/skel #模板目錄
GREATE_MAIL_SPOOL=yes #是否建立郵箱
/etc/login.defs
PASS_MAX_DAYS 99999 #密碼有效期(5)
PASS_MIN_DAYS 0 #密碼修改間隔(4)
PASS_MIN_LEN 5 #密碼最小5位(PAM)
PASS_WARN_AGE 7 #密碼到期警告(6)
UID_MIN 500 #最小和最大UID範圍
GID_MAX 60000
ENCRYPT_METHOD SHA512 #加密模式
usermod
選項與參數:
usermod [-cdegGlsuLU] username
-c:後面接賬號的說明,即/etc/passwd第五欄的說明欄,可以加一些賬號的說明
-d:後接賬號的家目錄,即修改/etc/passwd的第六欄
-e:後面接日期,格式是YYYY-MM-DD也就是在/etc/shadow內的第八個欄位的內容
-f:後面接天數,為shadow的第七欄位
-g:後面接初始用戶組,修改/etc/passwd的第四個欄位,亦即是GID的欄位
-G:後面接次要用戶組,修改這個使用者能夠支持的用戶組,修改的是/etc/group
-a:與-G合用,可增加次要用戶組的支持,而非設置
-l:後面接賬戶名稱,亦即是修改賬號的名稱,/etc/passwd的第一欄
-s:後面接shell的實際文件,例如/bin/bash或/bin/csh等
-u:後面接UID數字,即/etc/passwd第三欄的數據
-L:暫時將使用者的密碼凍結,讓它無法登陸,其實僅改/etc/shadow的密碼欄
-U:將/etc/shadow密碼欄的感嘆號(!)拿掉,解鎖賬號
chage
選項與參數:
chage [-ldmMWIE] 用戶名
-l:列出用戶的詳細密碼狀態
-d:接日期,修改密碼最後一次更改日期(shadow 3欄位)
-m:接天數,兩次密碼修改間隔(4欄位)
-M:接天數,密碼有效期(5欄位)
-W:接天數,密碼過期前警告天數(6欄位)
-I:接天數,密碼過後寬限天數(7欄位)
-E:接日期,賬號失效時間(8欄位)
chage -d 0 username
這個命令其實是把密碼修改日期歸0,這樣用戶一登錄就要修改密碼
su
選項與參數:
su [-lm] [-c 命令] username
-:代表使用login-shell的變數文件讀取方式來登陸系統,若使用者名稱沒有加上去,則代表切換為root的身份。不使用-的話,很多環境變數不會切換。
-l:與-類似,但後面需要加欲切換的使用者賬號,也是login-shell的方式
-m:-m和-p是一樣的,表示使用目前的環境設置,而不讀取新使用者的配置文件
-c:僅進行一次命令,所以-c後面可以加上命令