#!/bin/bash # 改管理页密码(只在设备上执行,密码不经过任何仓库文件) set -u D=/root/lanremote-relay NEWPW="$1" echo " ── 改之前 ──" if [ -f "$D/data/admin_password.txt" ]; then echo " 旧密码长度: $(wc -c < "$D/data/admin_password.txt")" cp "$D/data/admin_password.txt" "$D/data/admin_password.txt.bak-$(date +%H%M%S)" echo " 已备份" else echo " (本来没有密码文件)" fi mkdir -p "$D/data" printf '%s' "$NEWPW" > "$D/data/admin_password.txt" chmod 600 "$D/data/admin_password.txt" echo " ── 改之后 ──" echo " 新密码长度: $(wc -c < "$D/data/admin_password.txt")" ls -la "$D/data/admin_password.txt" | sed 's/^/ /' echo echo " ── 确认文件里没有换行(printf 不带 \n)──" if [ "$(wc -l < "$D/data/admin_password.txt")" = "0" ]; then echo " ✓ 没有换行" else echo " ⚠ 有换行,检查一下" fi