Gitea 忘记密码解决方案

一、在 Windows 上处理 Gitea 密码问题

1. 打开命令提示符

  • 以管理员身份运行命令提示符

2. 导航到 Gitea 安装目录

  • 假设你在 C:\gitea 下安装了 Gitea,使用以下命令导航到 Gitea 目录:
cd C:\gitea

3. 重置密码

  • 使用 Gitea 的命令行工具重置密码:
gitea.exe admin user change-password --username <用户名> --password <新密码>

4. 重启 Gitea

  • 关闭并重新启动 Gitea 服务或重新运行 gitea.exe

二、在 Ubuntu 上处理 Gitea 密码问题

1. 打开终端

  • 以管理员身份运行终端

2. 定位 Gitea 可执行文件

  • 通常文件位于 /usr/local/bin/gitea/usr/bin/gitea。可以用以下命令找到它:
which gitea

3. 重置密码

  • 使用 Gitea 提供的命令行工具重置密码:
sudo gitea admin user change-password --username <用户名> --password <新密码>

4. 重启 Gitea 服务

  • 使用以下命令重启 Gitea:
sudo systemctl restart gitea

三、通过数据库重置

如果使用的是 MySQL 数据库,可以通过以下步骤详细地重置 Gitea 管理员的密码

1. 登录 MySQL 数据库

首先,需要进入 MySQL 数据库。执行以下命令来登录:

mysql -u root -p

2. 连接到 Gitea 使用的数据库

通过以下命令列出所有数据库:

SHOW DATABASES;

找到 Gitea 使用的数据库名称。假设数据库名称为 gitea,输入以下命令切换到该数据库:

USE gitea;

3. 查找用户的记录

执行以下 SQL 查询来查找 Gitea 中 root 用户的信息:

SELECT id, name, passwd FROM user WHERE name = 'root';

这将返回 root 用户的 id、用户名和密码哈希

4. 生成新的密码哈希

在终端中(不在 MySQL 内),使用 Gitea 的命令生成一个新的加密密码哈希:

gitea generate password

该命令将输出一个加密后的密码哈希(例如 pbkdf2 哈希),记下这个值

5. 更新数据库中的密码

MySQL 终端,执行以下 SQL 语句来更新密码。将 <新密码哈希> 替换为刚才生成的密码哈希:

UPDATE user SET passwd = '<新密码哈希>' WHERE name = 'root';

确认更新是否成功:

SELECT id, name, passwd FROM user WHERE name = 'root';

ps: 如果只是知道新密码哈希意义不大,得同时知道对应的明文密码。

6. 重启 Gitea 服务

退出 MySQL:

EXIT;

重启 Gitea 服务以使密码生效。在 Ubuntu 上,可以执行以下命令:

sudo systemctl restart gitea

补充:

Gitea 在数据库中存储密码时不是以明文形式保存的,而是经过加密处理。具体来说,Gitea 使用一种加密算法(如 pbkdf2argon2)来对密码进行哈希处理,并将加密后的哈希值存储在数据库的 passwd 字段中

加密算法说明

  1. PBKDF2:是一种常用的密码加密算法,结合密码和随机生成的盐值来进行多次哈希,从而得到最终的加密密码。它的强度通过迭代次数和哈希算法(如 SHA-256)来调整

  2. Argon2:是一种现代密码哈希算法,专门为抗 GPU 破解设计。它支持多种模式,并且能有效利用内存带宽

当 Gitea 生成或更新用户密码时,使用这些算法对密码进行加密处理,并将加密后的值存储到数据库中。MySQL 数据库存储的是这个加密后的哈希值,而不是明文密码,因此即使直接修改数据库,也需要插入加密后的哈希值

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/56031.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网易博客旧文----bacnet学习系列之三----读取属性程序的分析

bacnet学习系列之三----读取属性程序的分析 2014-01-21 16:29:42| 分类&#xff1a; BACnet | 标签&#xff1a; |举报 |字号大中小 订阅 先上一张自己画的流程图 bacnet学习系列之三----读取属性程序的分析 - xzhoumin - MMZHOU的博客 程序一开始就是分析命令行&#xff0c;…

hbuilderx+uniapp+Android健身房管理系统 微信小程序z488g

目录 项目介绍支持以下技术栈&#xff1a;具体实现截图HBuilderXuniappmysql数据库与主流编程语言java类核心代码部分展示登录的业务流程的顺序是&#xff1a;数据库设计性能分析操作可行性技术可行性系统安全性数据完整性软件测试详细视频演示源码获取方式 项目介绍 用户功能…

【React】如何对组件加载进行优化

1. 懒加载 (Lazy Loading) 使用 React.lazy() 和 Suspense 来实现懒加载&#xff08;按需加载&#xff09;组件。只有在需要时才加载对应组件&#xff0c;可以减小初始加载的体积。 const LazyComponent React.lazy(() > import(./LazyComponent));function App() {retur…

初级网络工程师之从入门到入狱(五)

本文是我在学习过程中记录学习的点点滴滴&#xff0c;目的是为了学完之后巩固一下顺便也和大家分享一下&#xff0c;日后忘记了也可以方便快速的复习。 网络工程师从入门到入狱 前言一、链路聚合1.1、手动进行链路聚合1.1.1、 拓扑图&#xff1a;1.1.2、 LSW11.1.3、 LSW2 1.2、…

RabbitMQ(学习前言)

目录 学习MQ之前有必要先去温故下微服务知识体系&#xff0c;以加深本章节的理解 一、微服务间的通讯方式 1. 基本介绍 2. 同步通讯 2.1. 什么是同步通讯 2.2. 同步通讯存在的问题 问题一&#xff1a;耦合度高 问题二&#xff1a;性能和吞吐能力下降 问题三&#xff1a…

SpringMVC源码-处理器适配器HandlerAdapter

因为定义controller的方式有三种&#xff0c;每种不同的方式调用的方法不同&#xff0c;尤其是注解修饰的 方法名是自定义的 因此需要通过适配器模式来调用方法执行 initStrategies进行适配器的初始化 处理器适配器一共有如下四种: org.springframework.web.servlet.Handl…

数据结构与算法——Java实现 32.堆

人的想法和感受是会随着时间的认知改变而改变&#xff0c; 原来你笃定不会变的事&#xff0c;也会在最后一刻变得释然 —— 24.10.10 堆 堆是基于二叉树实现的数据结构 大顶堆每个分支的上一个节点的权值要大于它的孩子节点 小顶堆每个分支的上一个节点的权值要小于它的孩子…

开源催生开源:Tesla 如何加速 AI 发展

特斯拉最近宣布开源其特斯拉以太网传输协议 &#xff08;TTPoE&#xff09;&#xff0c;这是一种尖端网络结构&#xff0c;专为 AI/ML 数据中心环境中的高速、低延迟数据传输而设计&#xff0c;从而掀起了波澜。此举反映了特斯拉利用开源战略加速全行业进步的更广泛历史&#x…

Spring Boot课程问答:技术难题轻松解决

4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式&#xff0c;是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示&#xff1a; 图4-1系统工作原理…

Spring Security(常见过滤器介绍)

Spring Security是一个基于Spring框架的安全性解决方案&#xff0c;为Java应用程序提供了一套全面的安全解决方案。 一、概述 Spring Security是Spring采用AOP&#xff08;面向切面编程&#xff09;思想&#xff0c;基于servlet过滤器实现的安全框架。它致力于保护基于Spring的…

基于pytorch的手写数字识别-训练+使用

import pandas as pd import numpy as np import torch import matplotlib import matplotlib.pyplot as plt from torch.utils.data import TensorDataset, DataLoadermatplotlib.use(tkAgg)# 设置图形配置 config {"font.family": serif,"mathtext.fontset&q…

洗衣店订单管理:Spring Boot技术革新

3系统分析 3.1可行性分析 通过对本洗衣店订单管理系统实行的目的初步调查和分析&#xff0c;提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本洗衣店订单管理系统采用JAVA作为开发语言&#xff0c;S…

CSS 鼠标悬停时让父元素和子元素以不同的方式进行变换

要在鼠标悬停时让父元素和子元素以不同的方式进行变换&#xff08;transform&#xff09;&#xff0c;可以分别设置它们的 transform 属性&#xff0c;并使用 transition 来实现平滑的效果。以下是一个示例&#xff0c;展示了如何实现这一效果。 HTML 结构 <!DOCTYPE html…

pytest(六)——allure-pytest的基础使用

前言 一、allure-pytest的基础使用 二、需要掌握的allure特性 2.1 Allure报告结构 2.2 Environment 2.3 Categories 2.4 Flaky test 三、allure的特性&#xff0c;allure.step()、allure.attach的详细使用 3.1 allure.step 3.2 allure.attach&#xff08;挺有用的&a…

如何利用wsl-Ubuntu里conda用来给Windows的PyCharm开发

前提&#xff1a;咱们在wsl-Ubuntu上&#xff0c;有conda的虚拟环境 咱们直接打开PyCharm,打开Settings 更换Python Interpreter即可 当然一开始可能没有下面的选项&#xff0c;需要我们点击右边的Add Interpreter 这里选择wsl 点击next 将这两步进行修改 可以看出来&#xff0…

kubernetes中微服务部署

微服务 问&#xff1a;用控制器来完成集群的工作负载&#xff0c;那么应用如何暴漏出去&#xff1f; 答&#xff1a;需要通过微服务暴漏出去后才能被访问 Service 是一组提供相同服务的Pod对外开放的接口借助Service&#xff0c;应用可以实现服务发现和负载均衡Service 默认只…

智谱开放平台API调用解析

一、什么是智谱AI 智谱AI成立于2019年&#xff0c;由‌清华大学计算机系知识工程实验室的技术成果转化而来&#xff0c;是一家致力于人工智能技术研发和应用的公司。智谱致力于打造新一代认知智能大模型&#xff0c;专注于做大模型的中国创新。 二、智谱开放平台API调用 官方文…

【LeetCode】动态规划—673. 最长递增子序列的个数(附完整Python/C++代码)

动态规划—673. 最长递增子序列的个数 前言题目描述基本思路1. 问题定义2. 理解问题和递推关系3. 解决方法3.1 动态规划方法3.2 优化方法 4. 进一步优化5. 小总结 代码实现PythonPython3代码实现Python 代码解释 CC代码实现C 代码解释1. 初始化&#xff1a;2. 动态规划过程&…

FiBiNET模型实现推荐算法

1. 项目简介 A031-FiBiNET模型项目是一个基于深度学习的推荐系统算法实现&#xff0c;旨在提升推荐系统的性能和精度。该项目的背景源于当今互联网平台中&#xff0c;推荐算法在电商、社交、内容分发等领域的广泛应用。推荐系统通过分析用户的历史行为和兴趣偏好&#xff0c;预…

Django学习笔记十三:优秀案例学习

Django CMS 是一个基于 Django 框架的开源内容管理系统&#xff0c;它允许开发者轻松地创建和管理网站内容。Django CMS 提供了一个易于使用的界面来实现动态网站的快速开发&#xff0c;并且具有丰富的内容管理功能和多种插件扩展。以下是 Django CMS 的一些核心特性和如何开始…