pwconv 是Linux系统中用于密码转换的重要工具,它将传统的/etc/passwd文件中的密码信息转移到/etc/shadow文件中,实现密码的分离存储,从而提高系统的安全性。shadow密码格式将加密的密码从公开可读的passwd文件中移动到只有root用户可读的shadow文件中。
pwconv [选项]
| 选项 | 说明 |
|---|---|
-h, --help |
显示帮助信息并退出 |
-R, --root CHROOT_DIR |
指定chroot目录,在该目录中应用更改 |
-s, --sha-rounds ROUNDS |
指定SHA加密算法的迭代次数(仅适用于SHA加密) |
执行基本的密码转换:
sudo pwconv
此命令将读取/etc/passwd文件,提取密码信息并创建或更新/etc/shadow文件。
在指定的chroot目录中执行密码转换:
sudo pwconv -R /mnt/chroot
对/mnt/chroot/etc/passwd和/mnt/chroot/etc/shadow文件进行操作。
sudo pwconv -s 5000
设置SHA加密算法的迭代次数为5000次,增加密码破解的难度。
pwconv执行过程:
/etc/passwd文件中的用户信息/etc/shadow文件/etc/passwd中将密码字段替换为"x"/etc/shadow不存在则创建,已存在则更新| 相关命令 | 说明 |
|---|---|
pwunconv |
将shadow密码转换回传统的passwd格式(反向操作) |
grpconv |
将组密码从/etc/group转换到/etc/gshadow |
grpunconv |
将组密码从/etc/gshadow转换回/etc/group |
passwd |
设置或更改用户密码,使用shadow密码格式 |
chpasswd |
批量更改用户密码,自动使用shadow格式 |
username:encrypted_password:UID:GID:user_info:home_dir:shell
特点:
username:encrypted_password:last_change:min:max:warn:inactive:expire:reserved
特点:
| 文件/状态 | 转换前 | 转换后 |
|---|---|---|
/etc/passwd |
|
|
/etc/shadow |
不存在或密码为空 |
|
/etc/passwd和/etc/shadow文件/etc/shadow文件权限为640或600pwck命令检查密码文件的完整性:sudo pwcksudo cat /etc/shadow | head -5ls -l /etc/shadowsudo cp /etc/passwd.bak /etc/passwdpwck命令检查和修复