目录
3A认证
3A认证,即AAA认证
AAA:分别为Authentication、Authorization、Accounting
认证(Authentication):验证用户的身份与可使用的网络服务;
授权(Authorization):依据认证结果开放网络服务给用户;
计帐(Accounting):记录用户对各种网络服务的用量,并提供给计费系统。
1.用户及用户组存在的意义
- 用户是操作者在系统中的身份标识
- 组是逻辑概念,是用户的集合
- 用户的存在为了限制权限
- 组的存在为了归类用户便于管理权限
2.用户在系统中存在的方式
- 用户在系统中就是文件中的字符串
- 每个字符串映射了该用户所用到的系统资源
3.深入分析用户涉及到的配置文件及内容
/etc/passwd | #用户信息库 |
---|---|
/etc/group | #组信息库 |
/home/用户同名目录 | #默认用户家目录 |
/etc/skel/所有文件 | #用户环境配置文件模板 |
/etc/shadow | #用户认证信息 |
/etc/gshadow | #组认证信息 |
[root@workstation ~]# ls /etc/skel/ -a ##查看配置文件
. .. .bash_logout .bash_profile .bashrc .config .mozilla
4.用户信息的查看
id | 查看指定用户id信息 |
---|---|
id -u | 查看用户的uid |
id -g | 查看用户的gid |
id -G | 查看用户所在的所有组的id |
id -n | 显示名字而不显示id数字 |
5.用户身份的切换方式及环境变量
图形中的注销命 —— gnome-session-quit --force ##注销当前用户
su 只切换用户身份,不切换用户环境
su - 切换用户身份及用户环境
每次su切换到其他用户操作之后必须退出,然后再次切换到其他用户执行时高级用户切换到低级用户不需要密码,低级用户切换到高级需要平级用户切换切换也需要
6.用户及用户组的建立及删除
groupadd创建用户组 和 groupdel删除用户组 |
---|
useradd 创建用户 |
userdel 删除用户 |
**建立用户时,读取/etc/login.defs 文件内容确定规则 **
useradd -u | 建立用户得uid |
---|---|
useradd -g | 建立用户的gid |
useradd -G | 指定用户的附加组 |
useradd -c | 指定用户的说明 |
useradd -d | 指定用的家目录,默认为/home/username |
useradd -s | 指定用户的默认shell |
若想查看系统中的所有shell,可以使用‘cat /etc/shells’命令
7.用户及用户组的信息管理
groupmod -g | 修改用户组的gid |
---|---|
usermod -l | 修改用户名称 |
usermod -u | 修改用户的 uid |
usermod -g | 修改用户的 gid |
usermod -aG | 指定用户的附加组 |
usermod -c | 修改用户的说明 |
usermod -md | 修改用户的家目录 , 默认为 /home/username |
usermod -s | 修改用户的 shell 类型 |
8.用户认证文件的内容分析
/etc/shadow 用户认证信息文件
1.用户名称 |
---|
2.用户密码 |
3.密码已经使用时间 |
4.密码最短有效期 |
5.密码最长有效期 |
6.密码到期前警告 |
7.密码非活跃天数 |
8.密码到期日 |
9.用户认证管理
passwd | |
---|---|
-l | 上锁 |
-u | 解锁 |
-S | 密码状态信息 |
-n | 密码最短有效期,意味着在这段时间内不能更改密码 |
-w | 警告期限 |
-i | 非活跃天数 |
-d | 删除密码 |
-e | 将密码使用期限设置为零 |
-x | 最长有效期 |
chage | 只可以修改期限 |
---|---|
-l | 非活跃天数 |
-d | 最后一次使用时间 |
-E | 账号到期时间 |
-n | 密码最短有效期,意味着在这段时间内不能更改密码 |
-m | 最短有效期 |
-M | 最长有效期 |
-d | 警告期限 |
10.用户权力的下放
目的:可以使普通用户在不知道root用户密码情况下,通过下放权力实现一些超越自身能力之外的事情
- 在root用户身份下编辑sudo 的配置文件 /etc/sudoers 来已经建立的普通用户进行授权
- 命令行窗口直接输入visudo
- 进入后,大概在100行左右,进行编辑
用户 主机名称=(新执行身份) [NOPASSWD:] 命令
westos server0.example.com=(root) /usr/sbin/useradd
westos server0.example.com=(root) NOPASSWD: /usr/sbin/userdel
对于编辑内容进一步说明
- 通过 hostnamectl命令得到对应的hostname
- 通过 which 操作命令 得到这条命令所在的位置,注意空格和逗号