当前位置: 首页 > news >正文

操作系统openeuler修改和查看用户密码永不过期

这个错误表示您尝试设置的密码已经被使用过,系统记录了密码历史,不允许重复使用旧密码。以下是解决方法:

## 方法一:使用完全不同的新密码

### 1. 创建强密码策略
```bash
# 使用密码生成器(如果已安装)
pwgen -s 12 1

# 或者使用openssl生成随机密码
openssl rand -base64 12
```

### 2. 设置新密码
```bash
passwd username
```
然后输入一个**完全不同于之前所有密码**的新密码。

## 方法二:清除密码历史记录

### 1. 查看当前密码策略
```bash
# 查看PAM密码策略
cat /etc/pam.d/system-auth | grep remember

# 或者查看/etc/login.defs
grep -i password /etc/login.defs
```

### 2. 临时禁用密码历史检查(需要root权限)
```bash
# 备份PAM配置
cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bak

# 临时注释掉密码历史检查行
sed -i 's/\(password.*pam_pwhistory.so\)/#\1/' /etc/pam.d/system-auth

# 或者临时修改为不检查历史
sed -i 's/remember=[0-9]*/remember=0/' /etc/pam.d/system-auth
```

### 3. 修改密码后恢复设置
```bash
# 修改密码
passwd username

# 恢复PAM配置
cp /etc/pam.d/system-auth.bak /etc/pam.d/system-auth
```

## 方法三:使用chpasswd命令

### 1. 使用echo和chpasswd
```bash
# 生成新密码
NEW_PASSWORD=$(openssl rand -base64 12)

# 设置新密码
echo "username:${NEW_PASSWORD}" | chpasswd

# 或者使用printf
printf "username:NewPassword123!\n" | chpasswd
```

### 2. 使用文件输入
```bash
# 创建临时文件
echo "username:NewDifferentPassword123!" > /tmp/temp_passwd
chpasswd < /tmp/temp_passwd
rm -f /tmp/temp_passwd
```

## 方法四:修改PAM配置永久解决

### 1. 编辑PAM配置
```bash
vim /etc/pam.d/system-auth
```

### 2. 找到并修改密码历史行
找到类似这样的行:
```
password requisite pam_pwhistory.so use_authtok remember=5 retry=3
```

修改为:
```
# 临时注释掉(不推荐生产环境)
# password requisite pam_pwhistory.so use_authtok remember=5 retry=3

# 或者减少记忆的密码数量
password requisite pam_pwhistory.so use_authtok remember=1 retry=3
```

### 3. 重启PAM服务
```bash
systemctl restart systemd-logind
# 或者重新登录
```

## 方法五:使用expect自动化(适用于脚本)

### 1. 安装expect
```bash
dnf install expect -y
```

### 2. 创建expect脚本
```bash
cat > change_password.exp << 'EOF'
#!/usr/bin/expect
set username [lindex $argv 0]
set new_password [lindex $argv 1]

spawn passwd $username
expect "New password:"
send "$new_password\r"
expect "Retype new password:"
send "$new_password\r"
expect eof
EOF

chmod +x change_password.exp
```

### 3. 执行脚本
```bash
./change_password.exp username "CompletelyNewPassword123!"
```

## 方法六:强制密码修改(如果账户被锁定)

如果账户因多次尝试被临时锁定:

### 1. 检查账户状态
```bash
chage -l username
pam_tally2 --user=username
```

### 2. 重置尝试计数器
```bash
pam_tally2 --user=username --reset
```

### 3. 解锁后修改密码
```bash
passwd username
```

## 预防措施

### 1. 查看当前密码策略
```bash
# 查看密码历史设置
grep -r "remember" /etc/pam.d/

# 查看密码复杂度要求
grep -r "pam_pwquality" /etc/pam.d/
```

### 2. 合理设置密码策略
```bash
# 编辑PAM配置
vim /etc/security/pwquality.conf

# 调整参数
minlen = 8
minclass = 3
maxrepeat = 2
```

## 推荐解决方案

对于临时解决,建议使用**方法二**或**方法三**;对于长期管理,建议适当调整PAM配置:

```bash
# 临时解决方案(推荐)
sudo sed -i 's/remember=[0-9]*/remember=0/' /etc/pam.d/system-auth
passwd username
sudo sed -i 's/remember=0/remember=5/' /etc/pam.d/system-auth # 改回原设置
```

记住,修改后要验证密码是否生效:
```bash
su - username # 测试新密码
```

 

http://www.rkmt.cn/news/60474.html

相关文章:

  • jpqlQueryFactory.selectFrom详解
  • 智能打气泵pcba方案设计
  • 使用 html2canvas + jsPDF 生成PDF 的简单示例(含文字下沉修复)
  • ABC425 VP总结
  • LCD驱动芯片抗干扰段码屏驱动控制器VK2C21A液晶驱动原厂 提供技术支持
  • 2025.11.24 NOI 模拟赛
  • 2025年耐腐蚀砂浆厂家权威推荐榜单:环氧砂浆/环氧修补砂浆/环氧树脂砂浆源头厂家精选
  • 2025年水分分析仪选型‌生产厂家权威推荐榜单:‌水分监测解决方案‌/‌近红外水分检测‌/动态水分分析系统‌源头厂家精选
  • 储能电池的变换器进行了建模与仿真
  • 生产环境误删了会员的数据,差点被开除。。。
  • iOS 审核 5.1.1 深度解读,数据收集、权限合规与审核通过率提升的技术要点
  • Windows系统已经激活怎么改成未激活?
  • AI智能体编程的未来方向有哪些? - 详解
  • 机器人技术如何将电子垃圾变为科技金矿
  • KSVD的稀疏编码去噪
  • 2025 最新虹膜掌静脉识别厂家权威推荐榜:企业测评结果揭晓,含识别机 / 门禁 / 通道闸等产品优选签到设备/模组/考勤设备/箱/门禁/更衣柜/柜公司推荐
  • 四方通信管理机程序实现方案
  • OIFC 2025.11.25 模拟赛总结
  • T701793 网络延迟 (latency) 赛后题解
  • RoadRunner与其他PHP服务器相比之优势 - 详解
  • 桂林一对一家教辅导实用测评:2025秀峰、象山等地区辅导机构全维度对比
  • EasyExcel按模板导出excel
  • 2025年钢管表面喷涂处理生产商权威推荐榜单:高效自动喷油设备/全自动喷油生产线/普压自动喷油机源头厂家精选
  • 澳洲线路绕路多成本高:如何选择高质量语音供应商?
  • 2025澳洲留学中介机构排行
  • iOS Universal Link 配置
  • matlab实现图像纹理特征提取
  • LLaMA-Factory 微调模型一
  • 优化脚本
  • 黑白调E3 Pro:以超 300 项专利与顶尖人体工学,重塑玩家竞技体验