From dd24a96df24b7c46381dfdc85571cb304342f00e Mon Sep 17 00:00:00 2001 From: xzx3344521 Date: Mon, 27 Oct 2025 14:20:53 +0800 Subject: [PATCH] =?UTF-8?q?Update=20=E4=BF=AE=E6=94=B9=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E5=AF=86=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 修改系统密码 | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/修改系统密码 b/修改系统密码 index fc0d2f3..e4f093e 100644 --- a/修改系统密码 +++ b/修改系统密码 @@ -1,41 +1,40 @@ #!/bin/bash -# 修改系统密码脚本(使用passwd --stdin) -# 适用于支持 --stdin 选项的系统(如CentOS、RedHat等) +# 修改系统密码脚本 +# 使用方法: sudo ./change_password.sh [用户名] set -e +# 新密码 NEW_PASSWORD="Xzc3459635287" -USERNAME=${1:-$USER} -# 检查root权限 +# 检查是否以root权限运行 if [ "$EUID" -ne 0 ]; then echo "错误: 请使用 sudo 运行此脚本" + echo "用法: sudo $0 [用户名]" exit 1 fi -# 检查用户 +# 获取要修改的用户名(默认为当前用户) +USERNAME=${1:-$USER} + +# 检查用户是否存在 if ! id "$USERNAME" &>/dev/null; then echo "错误: 用户 '$USERNAME' 不存在" exit 1 fi -echo "修改用户 '$USERNAME' 的密码..." +echo "正在修改用户 '$USERNAME' 的密码..." +echo "新密码: $NEW_PASSWORD" -# 使用 passwd --stdin -echo "$NEW_PASSWORD" | passwd --stdin "$USERNAME" +# 使用 chpasswd 修改密码 +echo "$USERNAME:$NEW_PASSWORD" | chpasswd if [ $? -eq 0 ]; then echo "✅ 密码修改成功!" echo "用户名: $USERNAME" echo "新密码: $NEW_PASSWORD" else - echo "❌ 密码修改失败,尝试使用chpasswd方法..." - echo "$USERNAME:$NEW_PASSWORD" | chpasswd - if [ $? -eq 0 ]; then - echo "✅ 使用chpasswd方法修改成功!" - else - echo "❌ 所有方法都失败" - exit 1 - fi + echo "❌ 密码修改失败" + exit 1 fi