一: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