在Linux系统中,密码是保障系统安全的重要屏障,但在某些场景下(如本地开发测试、临时访问或低安全需求环境),用户可能需要设置简单密码以方便记忆,本文将详细介绍Linux系统中设置简单密码的多种方法,包括命令行操作、图形界面配置及批量处理技巧,同时提醒相关安全风险,帮助用户在便利与安全间合理平衡。
Linux设置简单密码的常用方法
使用passwd
命令设置用户密码(命令行)
passwd
是Linux中最基础的密码管理工具,普通用户可修改自身密码,root用户可修改其他用户密码。
- 操作步骤:
- 普通用户修改自身密码:打开终端,输入
passwd
,按提示输入当前密码(验证身份),再输入两次新密码(简单密码如123456
、test
等可直接输入)。 - root用户修改其他用户密码:输入
passwd [用户名]
(如passwd user1
),直接输入两次新密码即可。
- 普通用户修改自身密码:打开终端,输入
- 绕过密码复杂度检查:
默认情况下,Linux系统(如Ubuntu、CentOS)会通过pam_pwquality
模块检查密码复杂度(长度、字符类型等),简单密码可能被拒绝,若需强制设置简单密码,可使用--stdin
参数(仅root可用),echo "新密码" | passwd --stdin 用户名
此方法不会触发交互式复杂度检查,适合快速设置简单密码。
使用chpasswd
命令批量设置简单密码
当需要为多个用户设置相同的简单密码时,chpasswd
命令可高效实现批量操作。
- 操作步骤:
- 创建用户名-密码映射文件(如
users.txt
),格式为“用户名:密码”,每行一个用户,user1:123456 user2:test123 user3:admin
- 执行批量设置命令:
chpasswd < users.txt
- 若需动态生成密码,可结合
openssl
或mkpasswd
工具,while read user; do echo "$user:$(openssl rand -base64 6)"; done < users.txt | chpasswd
此处生成的是随机密码,若需固定简单密码,直接替换
$(openssl rand -base64 6)
为简单字符串即可。
- 创建用户名-密码映射文件(如
图形界面设置简单密码(适合桌面版Linux)
对于不熟悉命令行的用户,图形界面(GUI)操作更为直观,不同桌面环境操作步骤略有差异:
- GNOME桌面(Ubuntu、Fedora等):
- 进入“设置”>“详细信息”>“用户”,点击目标用户名旁的“齿轮”图标,选择“修改密码”。
- 输入当前密码(若修改自身密码),再输入两次新密码(简单密码可直接输入,部分系统可能弹出“密码简单”提示,点击“使用 anyway”强制设置)。
- KDE Plasma桌面(openSUSE、Manjaro等):
- 打开“系统设置”>“用户账户”,选择目标用户,点击“修改密码”。
- 输入新密码两次,若系统提示密码强度不足,点击“忽略”或“继续”即可完成设置。
修改/etc/shadow
文件直接设置密码(高级操作)
/etc/shadow
文件存储了用户的加密密码信息,格式为“用户名:密码加密串:上次修改时间:最小间隔:最大间隔:警告时间:过期时间:失效时间:标志”,直接修改此文件可绕过常规密码设置流程,但需谨慎操作,避免语法错误导致无法登录。
- 操作步骤:
- 使用
root
权限编辑/etc/shadow
文件,sudo vim /etc/shadow
- 找到目标用户行,将第二个字段(密码加密串)替换为简单密码的加密值,可通过
openssl passwd
生成加密串:openssl passwd -1 "简单密码" # -1表示使用MD5加密
输入
openssl passwd -1 "123456"
,得到类似$1$abc123$XyZ4vW5r6t7u8i9o0p
的加密串,将其替换/etc/shadow
中对应字段即可。 - 保存文件后,用户无需修改密码即可直接用新密码登录。
- 使用
简单密码的安全风险与建议
尽管简单密码便于记忆,但会显著降低系统安全性:
- 风险:易被暴力破解工具(如
John the Ripper
、Hashcat
)通过字典攻击破解,攻击者可获取系统控制权,窃取数据或植入恶意程序。 - 建议:
- 仅在完全信任的环境(如本地虚拟机、离线测试机)使用简单密码,避免在生产服务器或公网暴露的服务器上使用。
- 限制登录尝试次数:通过
fail2ban
工具配置规则,限制连续失败登录次数(如5次失败后封禁IP)。 - 禁用远程root登录:修改
/etc/ssh/sshd_config
文件,设置PermitRootLogin no
,并使用普通用户+sudo提权,降低密码泄露风险。
不同设置方法对比
方法 | 适用场景 | 操作复杂度 | 安全性 | 备注 |
---|---|---|---|---|
passwd 命令 |
单个用户密码设置 | 低 | 低 | 需root权限修改他人密码 |
chpasswd 批量设置 |
多用户相同密码设置 | 中 | 低 | 需提前准备用户名-密码映射文件 |
图形界面 | 桌面版Linux、不熟悉命令行的用户 | 低 | 中 | 部分系统可能弹出密码强度警告 |
修改/etc/shadow |
高级用户、批量自动化脚本 | 高 | 低 | 需谨慎操作,避免文件语法错误 |
相关问答FAQs
问题1:Linux设置简单密码时,系统提示“BAD PASSWORD: it is based on a dictionary word”,如何忽略提示强制设置?
解答:该提示由pam_pwquality
模块触发,可通过修改配置文件降低密码复杂度要求,以Ubuntu为例:
- 编辑
/etc/security/pwquality.conf
文件,设置参数:minlen = 1 # 密码最小长度1位 minclass = 0 # 不要求字符类型(数字、大小写、特殊字符等)
- 若使用
passwd
命令仍提示,可尝试passwd --stdin
(root权限)或修改/etc/login.defs
中的PASS_MIN_LEN
参数为0
,之后即可设置简单密码。
问题2:忘记设置的简单密码怎么办?如何重置?
解答:根据系统环境不同,重置密码的方法如下:
- 本地物理机/虚拟机:
- 重启系统,在GRUB引导界面按
e
键进入编辑模式。 - 找到以
linux
或linuxefi
开头的行,在末尾添加rw init=/sysroot/bin/sh
(临时以root权限挂载根文件系统)。 - 按Ctrl+X启动,进入shell后执行:
chroot /sysroot # 切换到实际根目录 passwd # 重置目标用户密码 touch /.autorelabel # 更新SELinux标签(若系统启用SELinux) exit reboot # 重启系统
- 重启系统,在GRUB引导界面按
- 云服务器(如阿里云、腾讯云):
通过云服务商控制台的“VNC登录”或“重置密码”功能,在系统启动时进入救援模式,按照提示重置密码即可。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/16469.html