linux 影子口令 shadow
封面图
•
2025-10-07
•
Linux
159
0
0
0
在 Linux 系统中,**影子口令(Shadow Passwords)** 是一种用于增强系统安全性的机制。它将原本存储在 `/etc/passwd` 文件中的用户密码信息移到了一个更安全的文件中,即 `/etc/shadow`。 --- ## 🧠 什么是影子口令? 在早期的 Unix 系统中,用户的密码信息是直接存储在 `/etc/passwd` 文件中,这个文件对所有用户都是可读的。这存在安全隐患,因为攻击者可以获取到加密后的密码,并尝试破解。 为了解决这个问题,引入了 **影子口令机制**,将加密后的密码移到 `/etc/shadow` 文件中,这个文件只有 root 用户才能访问。 --- ## 🔐 /etc/passwd 和 /etc/shadow 的区别 | 文件 | 内容 | 权限 | |------|------|------| | `/etc/passwd` | 用户的基本信息(用户名、UID、GID、家目录、shell等) | 全部用户可读 | | `/etc/shadow` | 用户的加密密码、密码过期信息等 | 仅 root 可读 | --- ## 📜 /etc/shadow 文件格式 每一行对应一个用户,格式如下: ``` username:encrypted_password:Last_change:Min:Max:Warn:Inact:Expire:Reserved ``` 例如: ``` root:$6$abc123...:18750:0:99999:7::: ``` - `username`: 用户名 - `encrypted_password`: 加密后的密码(由 `$` 开头,表示加密算法) - `Last_change`: 密码最后修改的天数(从1970年1月1日开始计算) - `Min`: 密码最小使用天数 - `Max`: 密码最大使用天数 - `Warn`: 密码过期前多少天提醒用户 - `Inact`: 密码过期后账户被禁用的天数 - `Expire`: 账户过期日期(从1970年1月1日开始计算) - `Reserved`: 保留字段(未使用) --- ## 🔐 加密方式说明 `/etc/shadow` 中的密码通常使用以下几种加密方式: | 加密类型 | 描述 | |----------|------| | `$1$` | MD5 加密(较旧) | | `$2a$` | Blowfish 加密(较新) | | `$2y$` | Blowfish 加密(兼容性更好) | | `$5$` | SHA-256 加密 | | `$6$` | SHA-512 加密(推荐) | --- ## 🛡️ 为什么使用影子口令? 1. **提高安全性**:`/etc/shadow` 文件权限为 `600`,只有 root 用户可以读取。 2. **防止密码泄露**:普通用户无法看到其他用户的密码。 3. **支持密码策略**:如密码过期、最小长度、密码复杂度等。 --- ## 💻 如何查看影子文件? 只有 root 用户才能查看 `/etc/shadow` 文件: ```bash sudo cat /etc/shadow ``` 或者使用 `less` 查看: ```bash sudo less /etc/shadow ``` --- ## ⚠️ 注意事项 - 不要随意编辑 `/etc/shadow`,否则可能导致用户无法登录。 - 使用 `passwd` 命令来设置或修改密码,而不是手动编辑该文件。 --- ## ✅ 示例:查看用户密码状态 ```bash sudo chage -l username ``` 会显示该用户的密码过期信息。 --- 如果你有具体问题,比如如何修改密码、设置密码过期时间、查看某个用户的 shadow 信息等,欢迎继续提问!
上一篇:
一个简单的验证身份的代码
下一篇:
configure: error: xml2-config not found. Please ch
标题录入,一次不能超过6条
返回顶部
留言
留言
评论