linux之用户,组
linux用户,组基础知识
  • linux用户标识: UID/USERNAME

        管理员用户:        UID:0        USERNAME: root    用户分为系统用户及普通用户:        用户标识位为16位二进制数,0-65535        系统用户: UID(1-499),UID(1-999,CentOS7)            作用:对守护进程获取资源进行权限分配        普通用户: UID(500+),UID(1000+,CentOS7)            作用: 交互式登录
  • linux组标识: GID/GROUPNAME

        管理员组:         GID: 0        GROUPNAME: root        系统组:1-499,1-999 (CENTOS7)         普通组:500+,1000+ (CENTOS7)
  • linux组的类别:

            主要组 : 创建用户时,系统默认创建与用户同名的组名,此组为用户的主要组.            用户必须属于一个且只有一个主组 组名同用户名,且仅包含一个用户:私有组         附加组 : 用户加入到其他组中,成为其成员.此组成为该用户的附加组.            一个用户可以属于零个或多个附加组
  • linux安全上下文

            当用户使用某工具操作某文件时,            首先判断用户是否有权限使用此工具            接着判断用户是否对文件有操作权限,再进行判断操作结果.
用户,组相关配置文件
  • 基本信息配置文件

        username <--> uid ,名称解析数据库    /etc/passwd保存信息:  (可通过 man 5 passwd查看)        account : 用户名        password : 密码位(占位符)        UID      : 用户uid        GID      : 用户主要组的gid        COMMIT   : 注释信息        HOME_DIR : 用户家目录        SHELL    : 默认SHELL    /etc/shadow保存信息:    (可通过 man 5 shadow查看)            登录用户的用户名            加密后的密码(通过加salt的单向加密)(详细查看crypt(3))            最近一次密码修改时间(从1970-1-1到这一天走过多少天来计数)            密码最少使用时间            密码最大使用时间            密码提前警告时间(在此期间,用户登录shell时,便会提醒用户更新密码)            密码失效时间(期限,在此期限到时,密码无法修改,且无法登录)            账号失效时间(此时间密码无法修改,且无法登录)(从1970-1-1到这一天走过多少天来计数)            保留位            注意:                当密码达到最大使用时间后,每次登陆前必须修改密码(否则无法登录),而到密码失效时间达到时,则无法修改密码.    /etc/group保存信息:     (可通过 man 5 group查看)        group_name: 组名        password : 密码位(占位符)        GID : 组ID        user_list : 此组作为附加组,其中的成员列表    /etc/gshadow保存信息:    (可通过 man 5 gpasswd查看)        group name : 组名        encrypted password : 真实密码(加salt后单向加密结果)        administrators : 管理员列表        user_list : 此组作为附加组,其中的成员列表        管理员作用:  修改组密码,管理组成员
  • 用户创建配置文件

    /etc/login.defs  创建用户时的诸多默认设定配置文件/etc/skel/       创建家目录时的模板文件/etc/default/useradd  useradd默认配置文件

  • 密码管理

        密码验证步骤:        根据/etc/passwd找到用户名对应uid,再根据用户输入的密码进行加salt,进行单向加密后与/etc/shadow的密码进行比对,以及后续的密码相关属性比对,来判断用户是否可登陆

    • passwd

          更新账户密码信息    passwd [OPTIONS] USERNAME        OPTIONS:            --stdin  将标准输出作为密码输入(只用一次确认即可)            ---lock  锁定用户密码            --unlock 解锁用户密码            -e       将密码设置为过期            -S       查看用户密码状态(含加密算法)    注意:        普通用户使用此命令时无法添加任何参数(是passwd程序本身设计),因此只能更改自己的密码
    • chage

          修改用户使用期限信息    chage [options] USERNAME        chage USERNAME 交互式修改信息        options:            -l   显示用户密码期限信息            -d yyyy-mm-dd  设置最近一次修改时间            -E yyyy-mm-dd  设置密码过期时间            -m # 密码最少使用期限            -M # 密码最大使用期限            -W # 密码过期时间
用户管理
  • useradd

        添加用户    useradd [options] USERNAME        options:            -u UID  用户gid            -g GROUP|GID  用户的主组            -G GROUPS  用户的附加组            -c COMMENT 注释信息            -d HOME_DIR 用户家目录            -s SHELL    指明用户默认shell            -r 创建系统用户
  • usermod

        修改用户信息    usermod [options] USERNAME        options:            -c COMMENT  更新注释信息            -d HOME_DIR 更新家目录信息(只修改信息,不创建目录)            -m 与-d共用,创建家目录并将原家目录数据复制过去            -g GROUP|GID 更新主组            -G GROUPS    更新附加组            -aG          添加附加组成员            -s SHELL     更新shell            -u UID       更新UID            -L           锁定账号            -U           解锁账号            清空附加组:                usermod -G '' USERNAME
  • userdel

        用户删除        userdel USERNAME 删除用户,但不删除其家目录        userdel -r USERNAME 删除用户同时删除其家目录