新增飞牛关机初始化脚本

This commit is contained in:
2025-12-16 21:42:30 +08:00
parent 425088edb1
commit bfc81f687b

51
setup-nas-poweroff.sh Normal file
View File

@@ -0,0 +1,51 @@
#!/bin/bash
set -e
echo "== NAS SSH 远程关机初始化脚本 =="
echo "作者: wukongdaily"
echo "用途: 允许 OpenWrt 通过 SSH 安全关机 NAS"
echo
if [ "$EUID" -eq 0 ]; then
echo "❌ 请不要使用 root 运行此脚本"
exit 1
fi
USER_NAME="$(whoami)"
SYSTEMCTL_PATH="$(command -v systemctl)"
if [ -z "$SYSTEMCTL_PATH" ]; then
echo "❌ 未检测到 systemctl非 systemd 系统)"
exit 1
fi
echo "当前用户: $USER_NAME"
echo "systemctl: $SYSTEMCTL_PATH"
echo
echo "将执行:"
echo " - 初始化 ~/.ssh 权限"
echo " - 配置 sudo 允许 poweroff"
echo
read -p "是否继续?[y/N]: " CONFIRM
[[ "$CONFIRM" =~ ^[Yy]$ ]] || exit 0
# SSH 目录
mkdir -p "$HOME/.ssh"
chmod 700 "$HOME/.ssh"
touch "$HOME/.ssh/authorized_keys"
chmod 600 "$HOME/.ssh/authorized_keys"
# sudo 规则
SUDO_RULE="$USER_NAME ALL=(root) NOPASSWD:$SYSTEMCTL_PATH poweroff"
if sudo grep -q "$SUDO_RULE" /etc/sudoers; then
echo "✔ sudo 规则已存在"
else
echo "$SUDO_RULE" | sudo tee -a /etc/sudoers >/dev/null
echo "✔ sudo 规则已写入"
fi
echo
echo "🎉 初始化完成"
echo "测试命令:"
echo " sudo $SYSTEMCTL_PATH poweroff"