第五天
用户组AAA认证
Authentication: 认证机制 , 通过某种方案来确认用户是其声称的用户,如密码、生物识别等 Authorization: 授权机制,资源使用级别 (Linux 只有管理员和普通用户两级分配机制,权限 ) Audition: 审计机制,监督权限的使用 , log 审计凭据 --- 额外审计功能 Selinux 用户类别管理员 只有一个UID=0
普通用户 1-65535
系统用户 1-999
系统管理账号:1-200
系统普通账号 : 201-999
一般用户: ≥1000
公有模式 users **
私有模式 用户在自己的组当中(创建用户会创建一个和用户同名的组)
| 文件功能 | 文件名称 |
| 用户账号文件 | /etc/passwd |
| 用户密码文件 | /etc/shadow |
| 用户组账号文件 | /etc/group |
| 用户组密码文件 | /etc/gshadow |
1.用户创建
useradd == adduser 添加用户或者更新添加用户的基本信息
#useradd USERNAME #useradd -u 1111 -g 1000 -d /test/user2 -s /sbin/nologin user2 创建用户命令 (选项) 要创建的用户名 -c 更改描述名称 -u 指定UID -g 指定用户的基本组(主组) -G 指定用户的附加组 -d 指定家目录 -s 指定shell字段 -r 指定系统用户
2.查看系统中用户信息
1)用户的配置文件(/etc/passwd)
cat /etc/passwd 的每一个字段的意思
用户名:密码占位符: 用户唯一id值:基本组的组id:描述字段(注释):家目录:shell
2)id 判断系统某一个用户是否存在
3)grep ^USERNAME /etc/passwd
3.用户修改
usermod [options] LOGIN
-c 修改描述名称
-d 指定家目录
-g 修改基本组
-G 修改附属组 会将用户以指定的附属组进行修改
-l 修改登录名称
-L 锁定用户
-s 修改shell
-u 修改UID
-U 解锁
4.删除用户
userdel -r USERNAME 完整删除一个用户相关的所有信息
注: 也会删除用户的基本组,但是如果基本组当中存在的其他的用户通过userdel -r 不能删除该基本组
userdel USERNAME 只删除用户配置文件相关信息,如果要完整删除用户需要手动删除用户的家目录/home/USERNAME和邮件文件/var/spool/mail/USERNAME
组类别管理组 只有一个
普通组 1-65535
基本组(默认组、主组) 一个用户只有一个基本组
附属组 一个用户可以有多个
1.创建组
groupadd GROUPNAME
-g 指定gid
-r 指定为系统组(1-999)
groupadd -g 456 -r GROUPNAME
2.查看组信息
1)查看组配置文件/etc/group
组名:组密码占位符:组id:组中的用户名(把当前组作为附属组的用户名)
2)grep ^USERNAME /etc/group
3)组修改
groupmod 修改组信息
-g 修改组id
-n 修改组名
groupmod -n grp1 g1 将g1组名改为grp1
4)删除组
groupdel GROUPNAME
只能删除附属组组当中有用户也可以删除,不能删除基本组
用户密码管理1.设置密码
passwd USERNAME 用户密码修改,设置用户密码
passwd / chage更改密码参数
-l 锁定用户密码
-u 解锁用户
-x 指定密码的最长使用期限
-n 指定密码的最短使用期限
-d 清空指定用户的口令。这与未设置口令的账户不同,未设置口令的账户无法登录系统,而口令为空
的账户可以
[root@162 ~]# echo mima | passwd --stdin root Changing password for user root. passwd: all authentication tokens updated successfully.
chpasswd 批量更改
echo root:mima | chpasswd
vim file
root:mima1
zhangsan:mima2
cat file | chpasswd
chpasswd < file
2.查看密码信息 /etc/shadow
用户名:密码:最后一次设置密码的时间(1970.1.1开始统计到设置密码的天数):密码最短时间:最长:警告时间:宽限时间:过期精确时间(1970.1.1开始统计到密码失效的天数)
组密码管理1)设置组密码
gpasswd GROUPNAME
-a 将指定用户拉到某一个组
-d 从组中移除用户
-M 设置组成员列表
-r 删除组密码
-R 锁定组密码(解锁--重置组密码)
-A 设置组长(可以将添加,删除组中用户)
newgrp 切换新组
注:作为管理员切换组不需要组密码,如果是组成员也不需要验证组密码
2)查看组密码/etc/gshadow
组名:组密码:组长:组成员
补充:
useradd haha /etc/passwd /etc/shadow /etc/group /etc/gshadow
/home/USERNAME 家目录
/var/spool/mail/USERNAME 邮件文件
默认定义用户添加的相关参数值:/etc/login.defs /etc/default/useradd
实验:创建学习组1,学习组2 ;他们的组gid分别为1111,2222,添加成员并将uid为1088,
和uid为1066的成员为两组的组长,其中一组组长有一个‘外号’laoda。
不同学习组进入需要密码才能进入(设置密码);即使密码泄露也不希望组之外的成员进入。
groupadd -g 1111 g1
groupadd g2
groupmod -g 2222 g2
useradd u1
usermod -u 1088 u1
useradd u2
usermod -u 1066 u2
gpasswd -a u1 g1
gpasswd -a u2 g2
gpasswd -A u1 g1
gpasswd -A u2 g2
usermod -c laoda u1
gpasswd g1
gpasswd g2
gpasswd -R g1
gpasswd -R g2
kali
sudo用户授权通过管理员给普通用户下发执行命令的特权
vim /etc/sudoers
redhat ALL=(ALL) NOPASSWD: /usr/sbin/useradd
提权用户 提权用户所在的主机名=(授权用户) 提权不需要密码验证: 提取可执行的命令
$sudo useradd u1
sudo -l:列出当前用户可以执行的命令。只有在sudoers里的用户才能使用该选项。
sudo -u
用户名 命令:以指定用户的身份执行命令。后面的用户是除root以外的,可以是用户
名,也可以是UID。
sudo -k:清除存活期时间,下次再使用sudo时要再输入密码。
sudo -b 命令:在后台执行指定的命令。
sudo -p 提示语 <操作选项>:可以更改询问密码的提示语,其中%u会代换为使用者账号名称,
%h会显示主机名称
susu redhat
su - redhat
w | who | users查看系统通过哪些用户基于终端登录 last 查看当前主机近期时间里通过哪些用户验证登录当前主机 whoami 查看当前终端通过哪一个用户身份登录 权限[root@162 ~]# ll total 40 -rw-r--r--. 1 root root 0 Feb 13 21:15 111
系统权限在文件中标识2-11
2-10 9个字符标识一般权限r w x
9个字符每三个字符一组标记权限 所属用户 所属组 其他用户
用户如何匹配对应文件的权限
111该文件所属用户是root用户,对于root用户对111文件现在拥有rw-
11 扩展权限标识符 .没有扩展权限 +有扩展权限
系统当中权限的描述方式:字符形式: rwx (系统权限的标识)
数值形式: 4=r 2=w 1=x 对于111文件所属用户root他的权限6 所属组的权限4 其他用户的权限4
(用户方便描述权限)



