一键修复 Redis + OpenVAS 权限和启动问题

针对 Kali / Debian 环境的 一键修复 Redis + OpenVAS 的 Shell 脚本,会处理目录权限、日志权限、创建 socket 目录,并启动服务。

复制代码
#!/bin/bash
# fix_gvm_redis.sh
# 一键修复 Redis + OpenVAS 权限和启动问题

set -e

echo "[+] 停止现有 Redis 服务(如果在运行)..."
systemctl stop redis-server@redis-openvas.service 2>/dev/null || true

echo "[+] 创建必要目录..."
mkdir -p /var/run/redis-openvas
mkdir -p /var/log/redis
mkdir -p /var/lib/redis

echo "[+] 设置目录权限..."
chown -R redis:redis /var/run/redis-openvas
chown -R redis:redis /var/log/redis
chown -R redis:redis /var/lib/redis

chmod 770 /var/run/redis-openvas
chmod 770 /var/log/redis
chmod 770 /var/lib/redis

echo "[+] 确认 Redis 配置文件存在..."
if [ ! -f /etc/redis/redis-openvas.conf ]; then
    echo "Redis 配置文件不存在,尝试复制默认配置..."
    cp /etc/redis/redis.conf /etc/redis/redis-openvas.conf
    echo "bind 127.0.0.1" >> /etc/redis/redis-openvas.conf
    echo "port 0" >> /etc/redis/redis-openvas.conf
    echo "unixsocket /var/run/redis-openvas/redis-server.sock" >> /etc/redis/redis-openvas.conf
    echo "unixsocketperm 770" >> /etc/redis/redis-openvas.conf
    echo "dir /var/lib/redis" >> /etc/redis/redis-openvas.conf
    echo "logfile /var/log/redis/redis-openvas.log" >> /etc/redis/redis-openvas.conf
fi

echo "[+] 重新加载 systemd..."
systemctl daemon-reload

echo "[+] 启动 Redis 服务..."
systemctl start redis-server@redis-openvas.service
systemctl status redis-server@redis-openvas.service --no-pager

echo "[+] 启动 ospd-openvas 服务..."
systemctl restart ospd-openvas
systemctl status ospd-openvas --no-pager

echo "[+] 修复完成!请确认 gvm-check-setup 是否全部 OK"

✅ 使用方法:

  1. 将脚本保存,例如 /root/fix_gvm_redis.sh

  2. 添加执行权限:

    chmod +x /root/fix_gvm_redis.sh

  3. 执行:

    sudo /root/fix_gvm_redis.sh


这样会一次性:

  • 修复 /var/run/redis-openvas/var/log/redis/var/lib/redis 权限

  • 确保 Redis 配置文件存在

  • 启动 Redis + OpenVAS 服务


https://127.0.0.1:9392/login

重置密码

在 GVM(Greenbone Vulnerability Manager,gvmd)里,直接在数据库里修改密码需要注意:从 GVM 21.x 之后,用户密码都是经过 SHA256 哈希 存储的,而不是明文,所以直接写明文是行不通的。

假设你已经有 psql 访问 gvmd 数据库的权限,可以按下面步骤操作:


1️⃣ 进入 gvmd 数据库

复制代码
sudo -u _gvm psql gvmd

2️⃣ 查看用户表结构

复制代码
\d users

你会看到类似字段:

  • id

  • name(用户名)

  • password(SHA256 哈希后的密码)

  • 其他字段...

注意:GVM 25.x 后用户名字段是 name,不是 username


3️⃣ 修改 admin 用户密码

假设要将密码改成 YourNewStrongPassword,执行:

复制代码
UPDATE users 
SET password = crypt('YourNewStrongPassword', gen_salt('bf')) 
WHERE name = 'admin';

解释:

  • crypt(..., gen_salt('bf')) 会生成 bcrypt 哈希(GVM 推荐方式)

  • name = 'admin' 确保只修改 admin 用户


4️⃣ 刷新权限/退出

复制代码
\q

然后重启 gvmd:

复制代码
sudo systemctl start postgresql
sudo systemctl restart gvmd
sudo systemctl status ospd-openvas
sudo systemctl status gsad

现在你可以用新密码登录 GVM Web 界面了。


相关推荐
马克Markorg6 小时前
常见的向量数据库和具有向量数据库能力的数据库
数据库
Coder_Boy_8 小时前
技术让开发更轻松的底层矛盾
java·大数据·数据库·人工智能·深度学习
helloworldandy8 小时前
使用Pandas进行数据分析:从数据清洗到可视化
jvm·数据库·python
数据知道10 小时前
PostgreSQL 故障排查:如何找出数据库中最耗时的 SQL 语句
数据库·sql·postgresql
qq_124987075310 小时前
基于SSM的动物保护系统的设计与实现(源码+论文+部署+安装)
java·数据库·spring boot·毕业设计·ssm·计算机毕业设计
枷锁—sha10 小时前
【SRC】SQL注入WAF 绕过应对策略(二)
网络·数据库·python·sql·安全·网络安全
Coder_Boy_10 小时前
基于SpringAI的在线考试系统-考试系统开发流程案例
java·数据库·人工智能·spring boot·后端
Gain_chance10 小时前
35-学习笔记尚硅谷数仓搭建-DWS层最近n日汇总表及历史至今汇总表建表语句
数据库·数据仓库·hive·笔记·学习
此生只爱蛋10 小时前
【Redis】主从复制
数据库·redis
马猴烧酒.11 小时前
【面试八股|JAVA多线程】JAVA多线程常考面试题详解
java·服务器·数据库