Linux系统用户认证管理与权限下放

0 下载量 145 浏览量 更新于2024-08-31 收藏 865KB PDF 举报
在Linux系统中,用户管理是操作系统安全性的核心组成部分。本资源主要讨论了用户认证信息管理和用户权利下放。重点集中在 `/etc/shadows` 文件,该文件存储了用户的敏感认证信息,并介绍了如何通过命令行工具进行用户权限的控制。 ### 一、用户认证信息管理 `/etc/shadows` 文件包含了每个用户账户的加密密码以及与密码相关的多个属性,这些属性通常分为九列: 1. **用户名称**:与 `/etc/passwd` 文件中的用户名相对应。 2. **用户密码**:加密后的密码,一般不为空表示账户可用。 3. **密码最后更改日期**:自1970年1月1日以来的天数。 4. **密码最小有效期**:密码必须在多长时间内更改。 5. **密码最大有效期**:密码在多长时间后必须更改。 6. **密码过期警告**:在密码过期前多少天给出警告。 7. **非活动天数**:在密码过期后允许用户无密码登录的天数。 8. **账户过期日期**:账户认证到期时间。 9. **保留字段**:目前未启用的功能。 监控用户认证信息可以使用 `watch` 命令结合 `tail` 和 `passwd -S` 命令,例如: ```bash watch -n 1 "tail -n 1 /etc/shadow ; echo '==============='; passwd -S westos" ``` 查看特定用户的密码状态则使用 `passwd -S` 命令: ```bash passwd -S name ``` ### 二、密码管理 1. **更改密码**:root用户可以为任何用户更改密码,普通用户只能更改自己的密码。 - 作为root: ```bash passwd name ``` - 普通用户: ```bash passwd ``` 2. **冻结/解锁认证**: - 冻结账号: ```bash passwd -l name ``` - 解锁账号: ```bash passwd -u name ``` 3. **删除密码**: ```bash passwd -d name ``` 4. **密码过期策略**: - 设置密码立即过期: ```bash passwd -e name ``` - 设置账号必须更改密码才能登录: ```bash chage -d 0 name ``` - 最小和最大密码有效期: - 1天内不允许更改密码: ```bash passwd -n 1 name ``` 或 ```bash chage -m 1 name ``` - 40天内必须更新密码: ```bash passwd -x 40 name ``` 或 ```bash chage -M 40 name ``` 5. **密码过期警告**: - 提前2天警告密码即将过期: ```bash passwd -w 2 name ``` 或 ```bash chage -W 2 name ``` 6. **非活动天数**: - 密码过期后允许登录2天: ```bash passwd -i 2 name ``` 或 ```bash chage -I 1 name ``` ### 三、用户权利下放 在大型系统中,通常需要将部分用户管理权限下放到管理员。在Linux中,可以通过添加用户到不同的组来实现权限的控制。使用 `usermod` 命令可以改变用户所属组,从而控制用户访问特定资源的能力。例如: ```bash usermod -a -G groupname username ``` 这会将 `username` 添加到 `groupname` 组,允许他们访问该组有权访问的文件和目录。 此外,`sudo` 工具用于临时提升普通用户的权限,允许他们以root身份执行指定命令,而不必直接使用root账户。 对Linux用户认证信息的精细管理是确保系统安全的关键,而用户权利的适当下放则有助于日常维护和管理效率的提升。理解并熟练运用上述命令和概念,能够更好地掌控Linux系统的用户权限。