「加锁/解锁/验证」三合一功能的脚本



以后只需要运行这一条命令就能用👇
cat > /root/sys_lock.sh << 'EOF'
#!/bin/bash
# 系统安全锁一体化脚本(一键加锁/解锁/验证)
# 锁定状态重启永久生效,仅可通过本脚本解锁
LOCK_LIST=(
"/etc/passwd" "/etc/shadow" "/etc/group" "/etc/gshadow" "/etc/sudoers"
"/etc/crontab" "/etc/cron.daily" "/etc/cron.hourly" "/var/spool/cron/root"
"/usr/bin/crontab" "/usr/bin/sudo" "/usr/bin/passwd" "/usr/bin/top" "/usr/bin/ps" "/usr/bin/netstat" "/usr/bin/ss"
"/etc/hosts" "/etc/resolv.conf" "/etc/profile" "/etc/bashrc" "/etc/bash.bashrc"
"/etc/ssh/sshd_config" "/etc/pam.d/system-auth" "/etc/pam.d/passwd" "/etc/pam.d/login"
"/root" "/www/server/panel/conf" "/www/server/panel/config.json"
)
# 加锁
lock_all() {
echo -e "\n===== 执行系统加锁 ====="
for item in "${LOCK_LIST[@]}"; do
if [ -e "$item" ]; then
chattr +i "$item" 2>/dev/null
echo "✅ 已锁定: $item"
else
echo "⚠️ 不存在: $item"
fi
done
echo -e "\n🔒 加锁完成,重启不失效,仅本脚本可解锁"
}
# 解锁
unlock_all() {
echo -e "\n===== 执行系统解锁 ====="
for item in "${LOCK_LIST[@]}"; do
if [ -e "$item" ]; then
chattr -i "$item" 2>/dev/null
echo "✅ 已解锁: $item"
else
echo "⚠️ 不存在: $item"
fi
done
echo -e "\n🔓 解锁完成,修改配置后请重新加锁"
}
# 检查状态
check_all() {
echo -e "\n===== 检查锁定状态 ====="
for item in "${LOCK_LIST[@]}"; do
if [ -e "$item" ]; then
if lsattr "$item" | grep -q "i"; then
echo "🔒 已锁定: $item"
else
echo "🔓 未锁定: $item"
fi
else
echo "⚠️ 不存在: $item"
fi
done
echo -e "\n===== 检查完成 ====="
}
# 菜单
while true; do
echo -e "\n========================================"
echo " 系统安全锁一体化脚本"
echo " 1. 一键加锁(永久生效)"
echo " 2. 一键解锁(修改配置前用)"
echo " 3. 检查锁定状态"
echo " 4. 退出"
echo "========================================"
read -p "请输入选项 [1-4]: " opt
case $opt in
1) lock_all; break ;;
2) unlock_all; break ;;
3) check_all; break ;;
4) echo "已退出"; exit 0 ;;
*) echo "无效选项,请输入1-4" ;;
esac
done
EOF
chmod +x /root/sys_lock.sh
echo -e "\n✅ 脚本创建完成!以后只需要运行这条命令:/root/sys_lock.sh"
2. 以后要加锁/解锁/验证,只需要运行这一条命令:这是最关键的一条命令
/root/sys_lock.sh

运行后会弹出菜单,输入数字1/2/3就能完成所有操作,不用再上传任何文件。
© 版权声明
THE END
暂无评论内容