Linux笔记之用户身份与认证
在Linux系统中,用户身份与认证是保证系统安全性和用户管理的重要部分。本章将详细讲解密码与口令策略的配置,以及sudo
权限管理与配置。
一、密码与口令策略
1、密码设置与修改
概念说明
Linux中每个用户账户都关联着一个密码,用于身份认证。密码存储在/etc/shadow
文件中(以加密形式)。
常用命令
- 设置或修改用户密码:
passwd username
实际操作
为用户testuser
设置密码:
sudo passwd testuser
输出结果示例:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
2、密码复杂性策略
概念说明
为增强系统安全性,可以强制用户设置符合复杂性要求的密码。这通常通过/etc/security/pwquality.conf
配置文件实现。
配置示例
修改pwquality.conf
,添加以下内容:
minlen = 12 # 最短密码长度
minclass = 3 # 至少包含3种字符类型
retry = 3 # 用户可尝试次数
验证效果
当用户设置密码时,若不符合要求,会提示如下错误:
BAD PASSWORD: The password is too short
3、密码到期与过期策略
概念说明
为了防止密码长期不更改带来的风险,可以设置密码到期策略。
常用命令
-
查看当前用户的密码到期信息:
chage -l username
-
修改用户密码到期策略:
sudo chage -M 90 -m 7 -W 7 username
-M
:最大有效期(天)-m
:最小有效期(天)-W
:提前警告时间(天)
实际操作
为testuser
设置密码策略:
sudo chage -M 90 -m 7 -W 7 testuser
输出结果示例:
Last password change : Nov 18, 2024
Password expires : Feb 16, 2025
Password inactive : never
Account expires : never
二、sudo
权限管理与配置
1、sudo
的概念
概念说明
sudo
允许普通用户以管理员权限执行命令,而无需直接使用root
账户,从而提高安全性。
2、配置sudo
权限
常用命令
- 将用户添加到
sudo
组:sudo usermod -aG sudo username
实际操作
为用户testuser
添加sudo
权限:
sudo usermod -aG sudo testuser
验证配置
切换到testuser
并运行sudo
命令:
su - testuser
sudo apt-get update
输出结果示例:
[sudo] password for testuser:
3、sudo
配置文件
文件位置
sudo
的权限规则配置在/etc/sudoers
文件中。
编辑配置
使用visudo
命令编辑/etc/sudoers
:
sudo visudo
配置示例
-
允许用户
testuser
执行所有命令:testuser ALL=(ALL:ALL) ALL
-
允许用户
testuser
无密码执行特定命令:testuser ALL=(ALL) NOPASSWD: /usr/bin/systemctl
4、限制与审计sudo
限制用户的sudo
权限
可以为用户设置精细的权限规则,例如:
testuser ALL=(ALL) /bin/ls, /bin/cat
此配置仅允许testuser
运行ls
和cat
命令。
审计sudo
命令
所有sudo
操作都会记录在/var/log/auth.log
中。查看日志:
sudo tail /var/log/auth.log
三、小结
通过本章学习,你已经掌握以下内容:
-
密码与口令策略:
- 设置与修改用户密码。
- 配置密码复杂性和到期策略。
-
sudo
权限管理:- 添加用户到
sudo
组。 - 编辑
/etc/sudoers
文件进行权限细化与限制。 - 查看
sudo
操作日志以进行审计。
- 添加用户到
通过合理配置用户身份与认证策略,可以显著提升Linux系统的安全性,并对用户权限进行精细化管理。