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