一:Linux用戶和組相關的配置文件:
/etc/passwd:用戶及其屬性信息(名稱、UID、基本組ID等等);
name:password:UID:GID:GECOS:directory:shell
用戶名:密碼:UID:GID:GECOS:主目錄:默認shell
/etc/group:組及其屬性信息;
group_name:password:GID:user_list
組名:組密碼:GID:以當前組爲附加組的用戶列表(分隔符爲逗號)
/etc/shadow:用戶密碼及其相關屬性;
用戶名:加密了的密碼:最近一次更改密碼的日期:密碼的最小使用期限:最大密碼使用期限:密碼警告時間段:密碼禁用期:賬戶過期日期:保留字段
/etc/gshadow:組密碼及其相關屬性;包括但不限於/etc/group中的信息;
用戶組:用戶組密碼:用戶組管理者:組成員
/etc/login.defs
MAIL_DIR/var/spool/mail
PASS_MAX_DAYS99999 # 密碼最大有效期
PASS_MIN_DAYS0 # 兩次修改密碼的最小間隔時間
PASS_MIN_LEN5 # 密碼最小長度,對於root無效
PASS_WARN_AGE7 # 密碼過期前多少天開始提示
UID_MIN 1000 # 用戶ID的最小值
UID_MAX 60000 # 用戶ID的最大值
SYS_UID_MIN 201 # 系統用戶ID的最小值
SYS_UID_MAX 999 # 系統用戶ID的最大值
GID_MIN 1000 # 組ID的最小值
GID_MAX 60000 # 組ID的最大值
SYS_GID_MIN 201 # 系統組ID的最小值
SYS_GID_MAX 999 # 系統組ID的最大值
CREATE_HOMEyes # 使用useradd的時候是夠創建用戶目錄
UMASK 077
USERGROUPS_ENAB yes # 用MD5加密密碼
ENCRYPT_METHOD SHA512 # 加密模式
/etc/default/useradd
GROUP=100 # 起始GID值
HOME=/home # 家目錄位置
INACTIVE=-1 # 有效時間,負數爲永久,正數代表天數
EXPIRE=
SHELL=/bin/bash # shell路徑
SKEL=/etc/skel # 用戶家目錄中的環境文件,默認添加用戶的目錄默認文件存放位置;
CREATE_MAIL_SPOOL=yes # 是否創建郵件池
二:用戶和組相關的管理命令:
用戶創建:useradd
useradd [options] LOGIN
-u UID: [UID_MIN, UID_MAX], 定義在/etc/login.defs
-g GID:指明用戶所屬基本組,可爲組名,也可以GID;
-c "COMMENT":用戶的註釋信息;
-d /PATH/TO/HOME_DIR: 以指定的路徑爲家目錄;
-s SHELL: 指明用戶的默認shell程序,可用列表在/etc/shells文件中;
-G GROUP1[,GROUP2,...[,GROUPN]]]:爲用戶指明附加組;組必須事先存在;
-r: 創建系統用戶
組創建:groupadd
groupadd [OPTION]... group_name
-g GID: 指明GID號;[GID_MIN, GID_MAX]
-r: 創建系統組;
查看用戶相關的ID信息:id
id [OPTION]... [USER]
-u: UID
-g: GID
-G: Groups
-n: Name
切換用戶或以其他用戶身份執行命令:su
su [options...] [-] [user [args...]]
切換用戶的方式:
su UserName:非登錄式切換,即不會讀取目標用戶的配置文件;
su - UserName:登錄式切換,會讀取目標用戶的配置文件;完全切換;
用戶屬性修改:usermod
usermod [OPTION] login
-u UID: 新UID
-g GID: 新基本組
-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加組,原來的附加組將會被覆蓋;若保留原有,則要同時使用-a選項,表示append;
-s SHELL:新的默認SHELL;
-c 'COMMENT':新的註釋信息;
-d HOME: 新的家目錄;原有家目錄中的文件不會同時移動至新的家目錄;若要移動,則同時使用-m選項;
-l login_name: 新的名字;
-L: lock指定用戶
-U: unlock指定用戶
-e YYYY-MM-DD: 指明用戶賬號過期日期;
-f INACTIVE: 設定非活動期限;
給用戶添加密碼:passwd
passwd [OPTIONS] UserName: 修改指定用戶的密碼,僅root用戶權限
passwd: 修改自己的密碼;
-l: 鎖定指定用戶
-u: 解鎖指定用戶
-n mindays: 指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天開始警告
-i inactivedays:非活動期限;
--stdin:從標準輸入接收用戶密碼;
刪除用戶:userdel
userdel [OPTION]... login
-r: 刪除用戶家目錄;
組屬性修改:groupmod
groupmod [OPTION]... group
-n group_name: 新名字
-g GID: 新的GID;
組刪除:groupdel
groupdel GROUP
組密碼:gpasswd
gpasswd [OPTION] GROUP
-a user: 將user添加至指定組中;
-d user: 刪除用戶user的以當前組爲組名的附加組
-A user1,user2,...: 設置有管理權限的用戶列表
newgrp命令:臨時切換基本組;如果用戶本不屬於此組,則需要組密碼;
修改用戶屬性:chage
chage [OPTION]... LOGIN
-d LAST_DAY
-E, --expiredate EXPIRE_DATE
-I, --inactive INACTIVE
-m, --mindays MIN_DAYS
-M, --maxdays MAX_DAYS
-W, --warndays WARN_DAYS
#################################################################################
通過修改/etc/pam.d/system-auth文件來修改root的passwd的默認最小長度
password requisite pam_cracklib.so try_first_pass retry=3 type= minlen=4