一.用户及用户组存在的意义
1.用户存在的意义
系统中的资源是有限的,如何合理分配资源,这需要3A机制来完成
3A机制
Linux中的3A机制包括身份认证(Authentication)、授权(Authorization)和审计(Accounting),这些机制共同构成了系统中最底层的安全架构
身份认证(Authentication)(验明正身:你是谁)
身份认证是验证用户身份的过程,确保只有合法用户才能访问系统。常见的认证方式包括用户名/密码、数字证书、生物识别等。
授权(Authorization)(规定权限:你能干什么)
授权是在用户通过认证后,根据其身份和角色分配相应的权限,决定用户可以访问哪些资源或执行哪些操作。
审计(Audit)(全程记录:你做过什么)
审计记录并监控用户访问和操作系统的活动,以便在发生安全事件时进行追溯和分析。审计日志是安全审计的重要依据。
2.用户组存在的意义
用户组是一个逻辑容器,并不能单独使用,其存在意义在于对用户进行归类和统一授权
在系统中有两种组的类型
初始组:用户建立后自动生成的组,是用户的主组
附加组:用户需要某些权限所加到的组,为了取得改组拥有的权力
3.用户及用户组在系统中存在的方式
在系统中用户和组都是用数字来表示,我们对这个数字成为ID
用户的ID范围:0-65535
0: root用户的ID
1-999: 系统用户ID
1000-65535: 操作用户ID
/etc/passwd,/etc/group文件
系统中的用户都是以ID的形式存在,但是作为操作者对于数字是不敏感的,所以我们为用户设定了文字别名并把这个别名填写到了/etc/passwd文件中,所以/etc/passwd就是用户信息文件,/etc/group就是组信息文件
如果用户ID在/etc/passwd文件中有记录,那么系统就认为这个用户是存在的,相反系统认为这个用户不存在
4.创建用户实验
#创建用户前

#手动添加用户信息
vim /etc/passwd

#手动添加用户组
vim /etc/group

#设置登录密码(加入生成的密文)
vim /etc/shadow

#整体流程

#创建用户后

二.用户涉及到的系统配置文件
1./etc/passwd
用户存放用户信息,用:分割每一列,每行有7列
[root@node2 桌面]# vim /etc/passwd

2./etc/group
用户组信息文件,用:分割,每行4列
[root@node2 桌面]# vim /etc/group

3./etc/shadow
用户存认证信息



4./etc/skel/.*
用户的环境配置文件
.bash_profile #环境变量配置文件
.bashrc #shell配置文件
.bash_history #历史记录
.bash_logout #用户退出shell执行命令
5./home/username
用户的家目录集合
6./var/spool/mail/username
用户邮件存放文件
三.用户管理
1.用户信息查看
#查看当前用户
whoami ##查看当前用户
#查看指定用户ID
id ##查看用户id信息
-u ##查看用户的用户id
-g ##查看用户主组id
-G ##查看用户所有的组的id
-n ##显示名称
2.切换用户
#切换用户
su 用户名称
##如果root ----> commonuser 不需要后者密码
##commonuser ----> root 需要密码
##commonuser ----> commonuser 需要密码
注意:
在做用户切换时当使用完毕用户身份及时退出
不要在一个shell中反复执行su命令
在一个shell中反复执行su命令会导致环境错乱
#实验效果
3.用户和用户组建立及删除
#设置监控,监控用户的建立
[root@node2 ~]# watch -n 1 "tail -n 3 /etc/passwd /etc/group ;ls -l /home/"
1)用户建立
useradd 用户名
-u id username ##uid 2**16=0-65535
##0 表示超级用户
##1-200 系统预留id
##201-999 系统用户
##1000-60000 用户级用户
##/etc/login.defs 记录用户建立的默认规则
-g id username ##主组id
-G id username ##附加组id
-d dir username ##指定用户家目录
-M username ##建立用户时不建立家目录
-c word username ##指定用户说明
-s shell username ##指定用shell

2)用户删除
#用户删除 -r 删除用户的系统配置文件
userdel -r 用户名

#如果在删除用户时没加-r参数,系统的配置文件不会被删除

#可以用rm手动删除残留资源

3).组建立及删除
[root@node2 ~]# groupadd -g 6666 lee

[root@node2 ~]# groupdel lee

4).用户和组的信息管理
##更改组信息
groupmod -g 组名称
##更改用户信息
usermod
-l #更改用户名称
-u #更改用户id
-g #更改主组id
-G #更改用户附加组身份
-aG #添加用户附加组身份
-c #更改用户说明
-s #更改默认shell
-d #更改家目录指向
-md #更改家目录指向同时更改家目录名称

5).用户认证信息管理
#查看密码状态
[root@node2 ~]# passwd -S lee

#设置监控
[root@node2 ~]# watch -n 1 "tail -n 1 /etc/shadow ; passwd -S lee "

#编码与解码

#root用户修改密码

#普通用户修改密码


#非交互式修改密码只有root可用

#冻结认证)
passwd -l lee ##冻结账号认证

passwd -u lee ##解锁账号认证

usermod -L lee ##冻结

usermod -U lee ##解锁

#密码删除)
passwd -d lee

#密码使用天数
*从1970-1-1算其到今天的时间
passwd -e lee ##修改默认使用时间为0
chage -d 0 lee ##账号必须改密码才能登陆系统

#密码最短有效期
passwd -n 1 lee ##lee在1天内不能改密码
chage -m 1 lee

#密码最长有效期
passwd -x 40 lee ##40天内lee用户必须更新密码否则会被冻结
chage -M 30 lee

#密码过期警告
passwd -w 2 lee ##账号过期前警告时间
chage -W 1 lee

#认证非活跃天数
passwd -i 2 lee ##账号认证最大时间超过后还能用多久
chage -I 1 lee

#账号认证到期时间
chage -E "2026-06-30" ##到2026-06-30这天账号会被冻结

6).权力下放
在系统中普通用户时无法执行系统管理命令的如果需要普通用户执行系统管理动作那么需要root用户来进行授权
visudo ##此命令作用是编辑/etc/sudoers并提供语法检测

[root@node2 ~]# hostname #查看主机名
[root@node2 ~]# which useradd #查看文件的绝对路径
#编写命令
#测试效果(用sudo来实现权力下放)
#执行userdel命令需要再次编写visudo
#可以免密执行
所有评论(0)