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 删除用户同时删除其家目录