新闻详情

新闻详情

首页 / 资讯中心 / 详情

SafeLine 忘记或泄露数据库密码时如何用管理脚本重置 POSTGRES_PASSWORD 并重启容器?

发布时间:2026/9/13 8:50:54来源:尧图网络
SafeLine 忘记或泄露数据库密码时如何用管理脚本重置 POSTGRES_PASSWORD 并重启容器?
SafeLine 忘记或泄露数据库密码时如何用管理脚本重置 POSTGRES_PASSWORD 并重启容器【免费下载链接】SafeLineSafeLine is a self-hosted WAF(Web Application Firewall) / reverse proxy to protect your web apps from attacks and exploits.项目地址: https://gitcode.com/GitHub_Trending/sa/SafeLineSafeLine雷池的控制台配置存放在 PostgreSQL 里数据库容器的密码由安装目录.env文件中的POSTGRES_PASSWORD变量决定。如果这个密码被遗忘或者已经泄露需要把它换成一个新值并且让所有依赖该密码的容器重新加载。SafeLine 随仓库提供的管理脚本scripts/manage.py内置了修复 → 重置数据库密码功能它会自动生成新密码、改写.env、在数据库容器内执行ALTER USER同步修改并按提示重启全部 Docker 容器。适用前提SafeLine 已用 Docker Compose 安装在 Linuxx86_64 或 aarch64服务器上且操作者拥有 root 权限。POSTGRES_PASSWORD 在部署中的作用从 compose.yaml 可以看到POSTGRES_PASSWORD不只是 postgres 服务的变量postgres服务通过POSTGRES_PASSWORD${POSTGRES_PASSWORD:?postgres password required}初始化数据库账号safeline-ce镜像为safeline-postgres15.2mgt服务的MGT_PG、luigi服务的LUIGI_PG、chaos服务的DB_ADDR三条连接串都内嵌了${POSTGRES_PASSWORD}。这意味着只改.env或只改数据库都不够环境变量是容器启动时注入的改完密码后必须重启容器新密码才会对所有服务生效。这也是管理脚本在重置完密码后会询问是否重启容器的原因。另外脚本在生成/更新配置时会校验POSTGRES_PASSWORD必须为纯字母数字见 generate_config。如果现有密码包含特殊字符脚本会直接提示POSTGRES_PASSWORD 变量包含特殊字符请选择修复重置密码并中止此时同样要走下面的修复流程。运行环境准备管理脚本自身有硬性检查不满足会直接报错退出见 mainroot 权限运行在交互式终端标准 TTY中运行不支持管道输入Linux 系统处理器为 x86_64/AMD64 或 aarch64Python 3.5 以上脚本 shebang 为python3。脚本会自动定位安装目录它执行docker inspect读取safeline-mgt容器上的com.docker.compose.project.working_dir标签如果取不到会提示手动输入 SafeLine 安装目录例如默认的/data/safeline。安装目录下必须存在.env文件否则会报未找到 .env 文件。如果选择重启容器还要求 Docker Compose 2.x脚本会执行docker compose version检查低于 2 会提示版本过低并询问是否安装 Docker。执行重置流程在终端中运行管理脚本以仓库中的 管理脚本 为例sudo python3 scripts/manage.py主菜单显示选择你要执行的动作选项为 1.安装 2.升级 3.卸载 4.修复 5.重启英文环境为 INSTALL/UPGRADE/UNINSTALL/REPAIR/RESTART输入4进入修复。修复子菜单见 repair提供两个选项重置 tengine 配置重置数据库密码输入2。脚本随后按 reset_postgres 执行读取安装目录下的.env生成一个 20 位随机字母数字串作为新密码覆盖写回.env中的POSTGRES_PASSWORD该流程不会先创建.env.bak备份而安装/升级流程会在safeline-pg容器内执行同步改密实际命令为docker exec safeline-pg psql -U safeline-ce -c ALTER USER \safeline-ce\ WITH PASSWORD 新密码;其中新密码是脚本刚写入.env的那个值由脚本自动拼接无需手工输入。任何一步失败都会输出对应错误信息并停止如重置数据库密码失败。改密成功后脚本询问是否需要重启雷池 WAF 的容器英文Do you want to restart SafeLine WAF Docker container输入y。选择y的副作用要清楚脚本会先执行docker compose down再执行docker compose up -d --remove-orphans见 docker_restart_all即所有 SafeLine 容器tengine、mgt、detector、postgres 等都会停止并重新启动期间 WAF 服务中断需要 Docker Compose 2.x 可用。如果输入n.env和数据库里的密码已经改为新值但mgt、luigi、chaos容器的MGT_PG/LUIGI_PG/DB_ADDR环境变量仍是启动时注入的旧密码数据库连接会失效。此时可以重新运行脚本选 4 → 2 走完流程选y或直接选主菜单5重启单独执行一次全容器重启。流程正常结束时脚本输出重置数据库密码完成Reset postgres password completed。验证结果打开安装目录下的.env例如默认目录/data/safeline/.env确认POSTGRES_PASSWORD一行已变为 20 位字母数字新密码重启完成后可以用脚本自身在 init_mgt 中使用的同款命令检查管理容器健康状态脚本在安装/升级后就是靠它判断启动完成的期望输出healthydocker inspect --format{{.State.Health.Status}} safeline-mgtpostgres 容器的健康检查在 compose.yaml 中定义为pg_isready -U safeline-ce -d safeline-ce重启后safeline-pg的健康状态恢复正常说明新密码下数据库可正常连接。常见报错与限制脚本输出含义与处理方式未找到 .env 文件定位到的安装目录下没有.env检查安装目录是否正确或手动输入正确路径后重试重置数据库密码失败safeline-pg内执行ALTER USER失败检查safeline-pg容器是否在运行当前环境不符合…安装条件选择重启时 Docker Compose 检查未通过如版本低于 2停止 Docker 容器失败 / 启动 Docker 容器失败docker compose down/up执行失败up若报iptables failed脚本会询问是否重启 Docker 服务后重试最后一点边界修复子菜单里的另一项重置 tengine 配置只处理 Nginx 配置目录与本流程互不影响重置数据库密码流程不修改任何业务数据只改密码并重启容器。【免费下载链接】SafeLineSafeLine is a self-hosted WAF(Web Application Firewall) / reverse proxy to protect your web apps from attacks and exploits.项目地址: https://gitcode.com/GitHub_Trending/sa/SafeLine创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

深入 Loki 的模糊匹配依赖:sahilm/fuzzy 库的 API、打分算法与仓库内实际应用 2026/9/13 9:35:58

深入 Loki 的模糊匹配依赖:sahilm/fuzzy 库的 API、打分算法与仓库内实际应用

深入 Loki 的模糊匹配依赖:sahilm/fuzzy 库的 API、打分算法与仓库内实际应用 【免费下载链接】loki Like Prometheus, but for logs. 项目地址: https://gitcode.com/GitHub_Trending/lok/loki 本篇基于 Loki 仓库中 vendor 的 sahilm/fuzzy 库 README 及其…

阅读更多 →
Pi Agent SDK极简架构与OpenClaw性能优势解析 2026/9/13 9:35:58

Pi Agent SDK极简架构与OpenClaw性能优势解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
AI内容生成技术:从原理到产业落地 2026/9/13 9:35:58

AI内容生成技术:从原理到产业落地

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
微信小程序停车场管理系统:扫码即停即走全链路实现 2026/9/13 9:35:58

微信小程序停车场管理系统:扫码即停即走全链路实现

简介:这是一套面向计算机专业本科生及微信小程序初学者的高分毕业设计实战项目,聚焦停车场管理场景,完整实现车位查询、预约、缴费、管理员后台等核心功能,可直接用于毕业设计、课程设计或期末大作业。资源包共390个文件&#xff…

阅读更多 →
西门子S7-1500 PLC在汽车电子装配线的应用实践 2026/9/13 9:35:58

西门子S7-1500 PLC在汽车电子装配线的应用实践

1. 项目概述:汽车电子零件装配线自动化控制系统这套基于西门子S7-1500 PLC的汽车电子装配线控制系统,是我去年参与实施的一个典型工业自动化项目。整套系统包含6台伺服驱动的机械臂、4个工位的阿特拉斯拧紧枪工作站、2台压力精度要求0.5Bar的液压压机&am…

阅读更多 →
用Python可视化伯努利原理:流速与压强的动态能量守恒 2026/9/13 9:32:58

用Python可视化伯努利原理:流速与压强的动态能量守恒

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞