文章目录
一、用户及用户组存在的意义
1.用户存在的意义
系统资源是有限的,如何合理分配系统资源?
在这个问题解决时必须要有两个资源配合
1)身份 account
2)授权 author
3)认证 auth
3A 机制,3A 机制组成系统中最底层的安全架构
2.用户组存在的意义
1)用户组是一个逻辑容器
2)对用户进行归类和统一授权
二、用户及用户组在系统中的存在方式
1)用户就是/etc/passwd 文件中的一行字符:“kiosk: x :1000:1000::/home/kiosk:/bin/bash”
2)用户组存在的方式就是/etc/group 文件中的一行字符:“kiosk: x: 1000:”
三、用户切换
1.用户查看
[kiosk@foundation34 Desktop]$ whoami #查看当前用户
[kiosk@foundation34 Desktop]$ id #查看用户 id 信息
[kiosk@foundation34 Desktop]$ id -u #查看用户的用户 id
[kiosk@foundation34 Desktop]$ id -g #查看用户主组 id
[kiosk@foundation34 Desktop]$ id -G #查看用户所有的组的 id
[kiosk@foundation34 Desktop]$ id -n #显示名称
操作效果如下图:
2.用户切换
[kiosk@foundation34 Desktop]$ su - root #切换到超级用户
[root@westos_student3 ~]# su - kiosk #切换到普通用户
操作效果如下图:
注意:1)如果 root ----> commonuser 不需要后者密码,commonuser ----> root 需要密码,commonuser ----> commonuser需要密码。
2)在一个 shell 中反复执行 su 命令会导致环境错乱,不要在一个 shell 中反复执行 su 命令,在做用户切换时当使用完毕用户身份及时退出。
四、用户涉及到的系统配置文件
1)编辑用户身份信息文件,包括用户名称:用户密码:用户 id:用户主组 id:用户说明:用户家目录:用户默认的shell
2)编辑组身份信息文件,包括组名称:组密码:组 id:附加组名称
3)编辑用户认证信息文件,包括用户名称:用户加密字符:密码使用天数:密码最短有效期:密码最长有效期:密码过期警告:认证非活跃天数:账号认证到期时间:未启用功能
4)切换到he用户
5)[root@foundation34 ~]# vim /etc/skel/.* #用户环境配置文件模板
五、用户建立及删除
1.打开监控界面
[root@westos_student3 ~]# watch -n 1 tail -n 3 /etc/passwd /etc/group #监控界面,监控passwd和group文件的倒数3行,ctrl+c退出
[root@westos_student3 ~]#watch -n 1 "tail -n 3 /etc/passwd /etc/group;ls -l /home" #多条监控命令,用引号引起来,并用分号隔开。监控passwd和group文件的倒数3行,并显示家目录,每1秒刷新一次
监控界面如下
2.useradd,userdel,groupadd及groupdel相关操作命令
[root@westos_student3 ~]# useradd lee #新开shell界面,建立新用户lee
[root@westos_student3 ~]# userdel -r lee #删除用户, -r 删除用户的系统配置文件
[root@westos_student3 ~]# useradd lee #建立新用户lee
[root@westos_student3 ~]# userdel lee #删除用户,但没删除用户的系统配置文件,需要再进行手动删除
[root@westos_student3 ~]# rm -fr /home/lee #手动删除用户的系统配置文件
[root@westos_student3 ~]# useradd -u 666 linux #指定用户id为666建立新用户linux
[root@westos_student3 ~]# userdel -r linux #删除用户
[root@westos_student3 ~]# groupadd -g 666 linux #建立指定组id的用户组。先建立用户组,再建立用户主组ID
[root@westos_student3 ~]# useradd -g 666 linux #建立指定主组id用户,先建立用户组,再建立用户主组ID
[root@westos_student3 ~]# userdel -r linux #删除用户
[root@westos_student3 ~]# useradd -G 72 linux #建立指定附加组用户。G是附加组,72是原先附加组有的ID
[root@westos_student3 ~]# useradd -G 72,1000 linux # 建立多个附加组
[root@westos_student3 ~]# userdel -r linux #删除用户
[root@westos_student3 ~]# useradd -M linux #不建立家目录的新用户
[root@westos_student3 ~]# userdel -r linux #删除用户
[root@westos_student3 ~]# useradd -d /home/haha linux #建立指定家目录的新用户
[root@westos_student3 ~]# userdel -r linux #删除用户
[root@westos_student3 ~]# useradd -s /bin/bash linux #建立指定默认shell的新用户
[root@westos_student3 ~]# cat /etc/shells #查看可以打开的shell
[root@westos_student3 ~]# userdel -r linux #删除用户
操作结果如下,且每步的操作,在监控界面上passwd和group文件会有相应的变化:
六、用户和用户组的信息管理
1.打开监控界面
[root@westos_student3 ~]# watch -n 1 tail -n 3 /etc/passwd /etc/group #监控界面,监控passwd和group文件的倒数3行,ctrl+c退出
[root@westos_student3 ~]#watch -n 1 "tail -n 3 /etc/passwd /etc/group;ls -l /home" #多条监控命令,用引号引起来,并用分号隔开。监控passwd和group文件的倒数3行,并显示家目录
2.usermod及groupmod相关操作命令
[root@westos_student3 ~]# useradd linux #建立新用户lee
[root@westos_student3 ~]# usermod -l rehat linux #更改用户名,把linux改为rehat
[root@westos_student3 ~]# usermod -l westos rehat #把rehat改回linux
[root@westos_student3 ~]# usermod -u 666 linux #更改用户ID为666
[root@westos_student3 ~]# usermod -u 1001 linux #改回原来Id
[root@westos_student3 ~]# usermod -g 1000 linux -g #更改主组id为1000
[root@westos_student3 ~]# usermod -G 1000 linux #只更改附加组id为1000,不添加附加组,且Id为1000的附加组存在
[root@westos_student3 ~]# id linux #查看Id
[root@westos_student3 ~]# usermod -G 72 linux #只更改附加组id为72,不添加附加组
[root@westos_student3 ~]# usermod -aG 21 linux #原基础上添加附加组
[root@westos_student3 ~]# usermod -G "" linux #删除附加组
[root@westos_student3 ~]# usermod -c "linux user" linux #更改用户说明为linux user
[root@westos_student3 ~]# usermod -c "" linux #用户说明置空
[root@westos_student3 ~]# usermod -d /home/lee linux #只更改家目录的指向(只有passwd文件里内容更改了),原目录linux的名字不变
[root@westos_student3 ~]# usermod -d /home/linux linux #改回来
[root@westos_student3 ~]# usermod -md /home/lee linux #更改家目录指向同时更改家目录名称
[root@westos_student3 ~]# usermod -md /home/linux linux #改回来
[root@westos_student3 ~]# usermod -s /sbin/nologin linux #更改默认shell
[root@westos_student3 ~]# usermod -s /bin/bash linux
[root@westos_student3 ~]# groupmod -g 666 linux #更改用户组 id
[root@westos_student3 ~]# cat /etc/shells #查看可以打开的shell
[root@westos_student3 ~]# userdel -r linux #删除用户
操作结果如下,且每步的操作,在监控界面上passwd和group文件会有相应的变化:
七、用户认证信息管理
1.打开监控界面
[root@westos_student3 ~]#watch -n 1 "tail -n 4 /etc/passwd /etc/shadow;passwd -S linux" #多条监控命令,用引号引起来,并用分号隔开。监控passwd和shadow的文件的倒数4行,并查看Linux用户的密码状态
监控界面如下
2.更改shadow相关参数
[root@westos_student3 ~]# passwd -S linux #查看密码状态
[root@westos_student3 ~]# passwd linux #超级用户状态下,更改用户密码,不需要原密码
[root@westos_student3 ~]# echo westos| passwd --stdin linux #交互式修改密码,westos是密码,linux是用户,只能在超级用户下执行有效
[kiosk@westos_student3 ~]# passwd #普通用户改密码,需要原密码
[root@westos_student3 ~]# passwd -l linux #冻结账号认证
[root@westos_student3 ~]# passwd -u linux #解锁账号认证
[root@westos_student3 ~]# passwd -d linux #密码删除
[root@westos_student3 ~]# passwd -e linux #修改密码使用天数,默认使用时间为 0
[root@westos_student3 ~]# chage -d 0 linux #账号必须改密码才能登陆系统
[root@westos_student3 ~]# passwd -n 1 linux #修改密码最短有效期,linux 在 1 天内不能改密码
[root@westos_student3 ~]# chage -m 1 linux #修改密码最短有效期,linux 在 1 天内不能改密码
[root@westos_student3 ~]# passwd -x 40 linux #40 天内 linux 用户必须更新密码,否则会被冻结
[root@westos_student3 ~]# chage -M 40 linux #40 天内 linux 用户必须更新密码,否则会被冻结
[root@westos_student3 ~]# passwd -w 2 linux #修改密码过期警告,账号过期前2天警告时间
[root@westos_student3 ~]# chage -W 1 linux #修改密码过期警告,账号过期前1天警告时间
[root@westos_student3 ~]# passwd -i 2 linux #修改认证非活跃天数,账号认证最大时间超过后还能用2天
[root@westos_student3 ~]# chage -I 1 linux #修改认证非活跃天数,账号认证最大时间超过后还能用1天
[root@westos_student3 ~]# chage -E "2020-12-01" #修改账号认证到期时间,到 2020-12-01 这天账号会被冻结
操作结果如下,且每步的操作,在监控界面上passwd和group文件会有相应的变化:
3.passwd和chage命令汇总
功能 | passwd命令 | chage命令 |
---|---|---|
锁定 | -l | 无 |
解锁 | -u | 无 |
删除 | -d | 无 |
设定最后一次密码修改天数为0 | -e | -d |
最短有效期 | -n | -m |
最长有效期 | -x | -M |
非活跃天数 | -i | -I |
警告期 | -w | W |
状态 | -S | 无 |
账号到期时间 | 无 | -E “YYYY-MM-DD” |
注意:可用man 5 passwd(passwd为要查询的指令),来查看格式及用法
八、用户权利下放
在系统中普通用户时无法执行系统管理命令的,如果需要普通用户执行系统管理动作那么需要root 用户来进行授权。普通用户授权方式 “sudo”,作用:可以使普通用户使用指定的用户身份来运行命令。授权方法:visudo ,命令作用是编辑/etc/sudoers 并提供语法检测
1.以用户linux为例进行权利下放步骤:
1)在超级用户环境下,建立新用户linux,执行命令visudo,作用是编辑/etc/sudoers 并提供语法检测
2)执行命令:100,即在sudoers文件里的第100行(代码规范性)左右进行编辑,编辑内容及含义如下:
编辑完成,按ESC退出编辑模式,按:wq保存并退出