在Linux系统中,用户和组是权限管理的核心,使用者通过用户和组实现与计算机系统的交互,根据登录的用户来确定相应的权限。除此之外, 每一个进程在执行时,也会有其用户,该用户也和进程所能控制的资源有关。在linux系统中分为两种组,分别是:基本组和附加组,用户也被分为三大类:超级管理员用户、普通用户和系统用户。每一个用户和组都会有自己的识别ID,分别是UID和GID,其标识具有唯一性。
建立在用户和组的基础上,计算机的管理权限实现了资源相互独立,避免了越权等危险行为。
一、用户和组的分类与关系
1.用户类型
1.1、root用户
root用户的uid和gid都为0,拥有绝对权限,可以进行任何操作。
1.2、系统用户
系统用户uid通常在1-999之间,用于运行系统服务,该用户没有家目录不能进行系统登录。
1.3、普通用户
普通用户uid从1000-65535,普通用户由管理员创建,分配指定权限,拥有家目录可以进行系统登录。
(上述范围属于默认值,不是规范值)
2.用户和组的关系
每个用户都会有一个基本组,在创建用户的同时会创建一个同名组,每个用户可以有多个附属组。
3.用户和用户组的配置文件
3.1、 /etc / passwd/ :存储用户信息
root:x:0:0:root:/root : bin:bash
#用户名:密码占位符:用户ID:组ID:用户描述信息:用户家目录:登录shell
3.2、 /etc/shadow :保存用户密码信息
bin:*:19820:0:99999:7:::
#用户名:密码:用户创建时间:密码最短使用期限:密码最长使用期限:密码过期提醒时间:密码过期后的宽容时间:密码过期时间:没用
创建密码 : openssl passwd -6 xxxxx
用户中 ! 表示用户密码被锁定,该用户无法登录操作系统。 !! 表示该用户没有设置密码。
3.3、/etc/group :存储用户组的信息
kevin:x:1000: #组名:占位符:组ID:非基本组的组成员
3.4、 /etc/gshadow :用户组的密码
3.5、 /etc/login.defs :设置密码过期时间,密码最大长度限制等内容。影响新创建用户密码信息。
3.6、 /etc/skel :创建用户时默认的模板目录
锁定文件命令:shattr +i /etc/group 锁定的文件管理员也无法打开。( 从系统内核层面锁定)
上述文件中 前四个文件出问题则无法创建新用户
二、用户管理
1.useradd
创建新用户或更新新用户默认信息
useradd -u 选项 创建指定uid用户
id user查用户的id相关信息包括(基本组、附属组id)
筛选uid
useradd -e 时间 指定用户失效时间
useradd -d 指定用户家目录 必须是未创建的目录
2.userdel
删除用户和相关文件
-r删除创建的组和其他信息 否则再次创建该用户会报错。
3.passwd命令

-l锁定用户密码、-S查看状态 
-u解锁
-d清除密码
-e强制失效
非交互式更改密码
4.usermod
修改用户账户属性
-a -G 小a只能与G组合
-L 锁定账户 -U解锁 passwd -S查看
5.chpasswd
批量修改密码

6.chage
更改用户密码过期信息(只能更改已经创建的用户信息)
chage -l user 显示账户年龄信息
-m:修改密码最端使用期限, -M:修改密码最长使用期限, -W:修改密码过期提示时间
三、组管理
1.groupadd
创建新的组
groupadd -g 12345 newgroup 创建新组gp1, 密码为123 添加user到gp1中
!tai :在终端上调取最近使用以 tai开头的指令
2.groupdel
删除组
3.groupmod
-g :修改组id
四、用户切换与sudo提权
1.su
用户切换
su直接加用户 切换到用户但不切换到该用户的shell环境中
su - 用户 切换到该用户的shell环境
显示错误是修改显示格式
命令 su -s /bin/bash nginx ——从/cd/etc/skel模板中复制模板——cp .bash* /var/lib/nginx——修改chown nginx .bash*——输入su -l -s /bin/bash nginx 完成2
2.sudo
用户提权
root用户修改id
五、用户登录信息查看
1.id
查看用户的基本属性,用户UID,基本组及附加组
2.w
查看当前系统登录详情 
3.who
显示当前系统登录的摘要信息
who -b系统登录时间
who -u系统登录用户
4.whoami
显示当前登录用户的名称
以上干货均为学习内容!
4904

被折叠的 条评论
为什么被折叠?



