当前位置: 首页 > article >正文

docker的joinsunsoft/docker.ui修改密码【未解决】

docker的joinsunsoft/docker.ui修改密码

在这里插入图片描述

前言

这个挺遗憾的,个人能力不足。想修改密码是不可能了。
因为,系统的密码加密规则不知道。
目前了解到的内容是:

  • 地址是:https://hub.docker.com/r/joinsunsoft/docker.ui
  • 服务是用go语言写的
  • 数据库是SQLite
  • 在他容器项目里有个config.json文件,这里面也放着密码

config.json文件

{
  "username": "ginghan",
  "password": "123456"
}

测试发现,修改他这里的账号密码并没有什么作用

第1步:进入docker.ui容器

平时他们进入容器是这样的命令

docker exec -it <container_id_or_name> /bin/bash

而他的命令是

docker exec -it <container_id_or_name> /bin/sh

docker exec -it docker.ui /bin/sh

第2步:进入站点文件

进入容器后,你会直接进入app文件夹;
app文件夹内容如下

/app # ls
data.db        docker.ui.log  html           log4go.xml     server

在这层目录我们看到了【data.db】,这个就是他的数据库文件了

然后进入html文件夹

 cd html

html文件夹内容如下

/app # cd html
/app/html # ls
api                  containers           images               logindlg.html        menu.json            option_confirm.html  secret               swarm
bg.jpeg              createnode.html      import.html          logout.json          modifypwd.html       orchestrator         service              task
config               export.html          index.html           logs                 network              portal               static               volumes
config.json          favicon.ico          login.html           main.html            node                 repository           static-extend

在这层目录我们看到了【config.json】文件

第3步:下载data.db数据库

3.1.拷贝文件至宿主机

我这里是把容器里的/app/data.db文件拷贝至宿主机的/home/dockerUI/文件夹下

docker cp 你的容器名称或ID:/app/data.db /home/dockerUI/

docker cp eca5be034985:/app/data.db /home/dockerUI/

3.2.文件都到宿主机了,我相信,你应该知道可以下载了

你也可以和我一样用MobaXterm软件操作
在这里插入图片描述

第4步:修改data.db数据库

你如果没有安装“SQLit”数据库,先安装
Windows系统SQLite安装
使用数据库软件打开后,截图如下
在这里插入图片描述
我们打开t_user表,
我们发现密码是加密的。
由于不知道密码的加密方式,
所以,不敢轻易修改密码,
我们只能修改登陆的用户名了
修改好后,保存文件,进行上传

第5步:上传data.db数据库

先把修改好后的data.db数据库,上传至宿主机,
然后,拷贝至docker容器里

docker cp /home/dockerUI/data.db 你的容器名称或ID:/app/data.db

docker cp /home/dockerUI/data.db eca5be034985:/app/data.db

发现还是无效


http://www.kler.cn/a/414363.html

相关文章:

  • 如何让控件始终处于父容器的居中位置(父容器可任意改变大小)
  • 微信小程序用户登录页面制作教程
  • 鼠标前进后退键改双击,键盘映射(AutoHotkey)
  • 241125学习日志——[CSDIY] [ByteDance] 后端训练营 [15]
  • python学opencv|读取图像
  • 如何使用OCR技术批量识别图片中的文字并重命名文件,OCR 技术批量识别图片中的文字可能出现的错误
  • 二十六:Web条件请求的作用
  • 【实体配置】.NET开源 ORM 框架 SqlSugar 系列
  • 「Java EE开发指南」如何使用Visual JSF编辑器设计JSP?(二)
  • electron-vite_13取消所有窗口默认菜单显示
  • mysql-binlog的三种模式
  • python3.9读取指定txt文件,将里面的所有文字计出总和,将txt文件的内容,按每50000字,保存成新的txt文件
  • 算法基础 - 最小二乘法(线性拟合)
  • 分布式锁的实现方案有哪些?各自的原理是怎样的?使用场景有哪些?与单体架构中锁区别?存在哪些问题?如何解决?注意事项?
  • 6.算法移植第六篇 YOLOV5/rknn生成可执行文件部署在RK3568上
  • Redis中的数据结构详解
  • HarmonyOS4+NEXT星河版入门与项目实战(23)------组件转场动画
  • 构建高效AI工作流:打造灵活自动化的分步指南
  • 【UE5 C++课程系列笔记】04——创建可操控的Pawn
  • 华为新手机和支付宝碰一下 带来更便捷支付体验
  • Unity 设计模式-状态模式(State Pattern)详解
  • python爬虫安装教程
  • 系统性能定时监控PythonLinux
  • 学习线性表_3
  • MCU跨领域融合的风向标是什么?
  • onnx报错解决-bert