团队密码管理器Passbolt的安装

在这里插入图片描述

老苏下载了吴恩达联手 OpenAI 推出的 Prompt for developer 课程,总长度大概在一个半小时左右,可以让我们学习正确的 ChatGPT Prompt 工程

虽然课程对话是英文,但有中文字幕,课程地址:https://www.aliyundrive.com/s/H3CpaapD87Z


什么是 Passbolt ?

Passbolt 是一款为协作而设计的免费开源的密码管理器。使用 Passbolt,您可以安全地生成、存储、管理和监控您的团队凭证。从多个浏览器甚至手机访问您的所有登录名和密码。

与其他密码管理服务相比,Passbolt 有如下不同的特点:

  • 主要为团队而不是个人而设计
  • 免费和开源
  • 尊重隐私
  • 基于 OpenPGP,一个经过验证的加密标准
  • 对于新人或者 IT 从业者来说,都易于使用
  • 基于 RESTful API ,有良好的可扩展性

官方演示站点:https://demo.passbolt.com

命令行安装

在群晖上以 Docker 方式安装。

docker-cli 安装

如果你熟悉命令行,可能用 docker cli 更快捷

本文写作时, latest-ce 版本对应为 3.8.3-2-ce,其中 ceCommunity Edition 的缩写;

# 新建文件夹 passbolt 和 子目录
mkdir -p /volume2/docker/passbolt/{data,gpg,jwt}

# 进入 passbolt 目录
cd /volume2/docker/passbolt

# 修改目录权限
chmod 777 {gpg,jwt}

# 运行 mariadb 容器
docker run -d \
   --restart unless-stopped \
   --name pb-mariadb \
   -v $(pwd)/data:/var/lib/mysql \
   -e MYSQL_RANDOM_ROOT_PASSWORD="true" \
   -e MYSQL_DATABASE="passbolt" \
   -e MYSQL_USER="passbolt" \
   -e MYSQL_PASSWORD="P4ssb0lt" \
   mariadb:10.6

# 运行 passbolt 容器
docker run -d \
   --restart unless-stopped \
   --name pb-passbolt \
   --link pb-mariadb:db \
    -p 7380:80 \
    -p 7343:443 \
    -e DATASOURCES_DEFAULT_HOST="db" \
    -e DATASOURCES_DEFAULT_USERNAME="passbolt" \
    -e DATASOURCES_DEFAULT_PASSWORD="P4ssb0lt" \
    -e DATASOURCES_DEFAULT_DATABASE="passbolt" \
    -e APP_FULL_BASE_URL=http://192.168.0.197:7380 \
    -e PASSBOLT_REGISTRATION_PUBLIC="true" \
    -e EMAIL_DEFAULT_FROM="wbsu2003@88.com" \
    -e EMAIL_TRANSPORT_DEFAULT_HOST="smtp.88.com" \
    -e EMAIL_TRANSPORT_DEFAULT_PORT="465" \
    -e EMAIL_TRANSPORT_DEFAULT_USERNAME="wbsu2003@88.com" \
    -e EMAIL_TRANSPORT_DEFAULT_PASSWORD="<第三方邮件客户端密码>" \
    passbolt/passbolt:latest-ce

环境变量

这里只列出了老苏用到的环境变量,没用到的可以去看官网的文档说明:https://github.com/passbolt/passbolt_docker/blob/master/README.md#environment-variables-reference

  • mariadb:10.6
可变
MYSQL_RANDOM_ROOT_PASSWORDroot 用户的密码,采用随机密码
MYSQL_DATABASE数据库库名, 设为了 passbolt
MYSQL_USER数据库用户,设为了 passbolt
MYSQL_PASSWORD数据库用户 passbolt 对应的密码, 需要修改为你自己的
  • passbolt/passbolt:latest-ce

需保持和 mariadb:10.6 的设置一致;

可变
DATASOURCES_DEFAULT_HOST数据库主机
DATASOURCES_DEFAULT_USERNAME数据库用户
DATASOURCES_DEFAULT_PASSWORD数据库用户 passbolt 对应的密码
DATASOURCES_DEFAULT_DATABASE数据库库名
APP_FULL_BASE_URL可访问服务器的主机名,包括 https://(或 http://
PASSBOLT_REGISTRATION_PUBLIC是否允许用户自己注册
EMAIL_DEFAULT_FROM发件人电子邮件地址
EMAIL_TRANSPORT_DEFAULT_HOST邮件服务器主机
EMAIL_TRANSPORT_DEFAULT_PORT邮件服务器端口
EMAIL_TRANSPORT_DEFAULT_USERNAME邮件用户
EMAIL_TRANSPORT_DEFAULT_PASSWORD邮件密码
EMAIL_TRANSPORT_DEFAULT_TLS是否启用 TLS

docker-compose 安装

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'

services:
  db:
    image: mariadb:10.6
    container_name: pb-mariadb
    restart: unless-stopped
    environment:
      MYSQL_RANDOM_ROOT_PASSWORD: "true"
      MYSQL_DATABASE: "passbolt"
      MYSQL_USER: "passbolt"
      MYSQL_PASSWORD: "P4ssb0lt"
    volumes:
      - ./data:/var/lib/mysql

  passbolt:
    image: passbolt/passbolt:latest-ce
    container_name: pb-passbolt
    restart: unless-stopped
    depends_on:
      - db
    environment:
      APP_FULL_BASE_URL: http://192.168.0.197:7380
      DATASOURCES_DEFAULT_HOST: "db"
      DATASOURCES_DEFAULT_USERNAME: "passbolt"
      DATASOURCES_DEFAULT_PASSWORD: "P4ssb0lt"
      DATASOURCES_DEFAULT_DATABASE: "passbolt"
      PASSBOLT_REGISTRATION_PUBLIC: "true"
      EMAIL_DEFAULT_FROM: "wbsu2003@88.com"
      EMAIL_TRANSPORT_DEFAULT_HOST: "smtp.88.com"
      EMAIL_TRANSPORT_DEFAULT_PORT: "25"
      EMAIL_TRANSPORT_DEFAULT_USERNAME: "wbsu2003@88.com"
      EMAIL_TRANSPORT_DEFAULT_PASSWORD: "<第三方邮件客户端密码>"
      #EMAIL_TRANSPORT_DEFAULT_TLS: "true"
    volumes:
      - ./gpg:/etc/passbolt/gpg
      - ./jwt:/etc/passbolt/jwt
    command: ["/usr/bin/wait-for.sh", "-t", "0", "db:3306", "--", "/docker-entrypoint.sh"]
    ports:
      - 7380:80
      - 7343:443

然后执行下面的命令

# 新建文件夹 passbolt 和 子目录
mkdir -p /volume2/docker/passbolt/{data,gpg,jwt}

# 进入 passbolt 目录
cd /volume2/docker/passbolt

# 修改目录权限
chmod 777 {gpg,jwt}

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

在这里插入图片描述

运行

要等一会儿,可能时间有点长,日志中看到 Passbolt installation success! Enjoy! ☮ 才表示安装成功,老苏的小机器上花了 36

在浏览器中输入 http://群晖IP:7380 就能看到主界面

虽然支持多语言切换,但是很遗憾没有中文

在这里插入图片描述

运行之前,还需要创建管理员账号

# 创建您的第一个管理员用户
docker exec passbolt su -m -c "bin/cake passbolt register_user -u your@email.com -f yourname -l surname -r admin" -s /bin/sh www-data

# 示例
docker exec pb-passbolt su -m -c "bin/cake passbolt register_user -u wbsu2003@gmail.com -f lao -l su -r admin" -s /bin/sh www-data

用创建的管理员邮件 wbsu2003@gmail.com 登录,并勾选 I accept the terms

在这里插入图片描述

需要检查邮箱来获得认证链接

如果邮件设置没问题,一会儿就会收到邮件,点中间的 get started 进行验证

在这里插入图片描述

看到这个界面就验证 OK

在这里插入图片描述

Download extension 下载插件

在这里插入图片描述

安装成功后,主界面也有提示

现在要设置主密码,以后只要记住主密码就可以了

  • 长度至少为 8个字符
  • 包含小写和大写字符
  • 包含字母和数字
  • 包含特殊字符(如 /*%

在这里插入图片描述

最后会生成一个包含密钥的恢复工具包,其实就是个 txt 文件,文件的内容是 PGP PRIVATE KEY,它会自动下载,一定要保存到安全的地方

在这里插入图片描述

选一个颜色并输入 3个字符

在这里插入图片描述

设置完成后的主界面

在这里插入图片描述

sign out 之后会回到登录界面,只要输入主密码即可

接下来就可以新建密码开始使用了,从官方的说明看,目前已经支持浏览器扩展和移动端应用,桌面应用程序即将推出。

参考文档

Passbolt | The open source password manager for teams
地址:https://www.passbolt.com/

passbolt/passbolt_api: Passbolt CE Backend, a JSON API written with Cakephp
地址:https://github.com/passbolt/passbolt_api

passbolt/passbolt_docker: Get started with Passbolt CE using docker!
地址:https://github.com/passbolt/passbolt_docker

Install passbolt Free Community Edition (CE) on Docker
地址:https://www.passbolt.com/ce/docker

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Redux 学习系列(一) —— 基础概念入门篇

简介 Redux 是一个可预测的 JavaScript 应用状态管理容器&#xff0c;也可以说是一个应用数据流框架。 作用 Redux 主要是用作应用状态的管理。它抽离所有组件的状态&#xff0c;构造一个中心化的单独常量状态树&#xff08;对象&#xff09;来保存这一整个应用的状态。这棵…

java 学习日记

今天先搞题目 给你一个points 数组&#xff0c;表示 2D 平面上的一些点&#xff0c;其中 points[i] [xi, yi] 。 连接点 [xi, yi] 和点 [xj, yj] 的费用为它们之间的 曼哈顿距离 &#xff1a;|xi - xj| |yi - yj| &#xff0c;其中 |val| 表示 val 的绝对值。 请你返回将所…

TikTok选品要怎样才能选到爆品?!

对于做TikTok的商家而言&#xff0c;选品是非常重要的&#xff0c;因为一个产品爆了之后能带动其他产品的销量&#xff0c;那我们要如何有效的选品呢&#xff1f; 一、多平台选品逻辑 首先要知道一个点&#xff0c;在独立站爆的品也会在亚马逊爆&#xff0c;而TikTok已经成为一…

4D成像雷达风口,谁在快速崛起?

4D成像雷达正进入规模量产落地的关键窗口期。 高工智能汽车注意到&#xff0c;毫米波雷达的发展某种程度上可以分为两个阶段&#xff1a;第一个阶段&#xff0c;传统毫米波雷达时代&#xff0c;市场基本被博世、大陆、安波福等国际Tier1巨头把持&#xff0c;市场格局长期稳固&…

PyTorch数据加载工具:高效处理常见数据集的利器

❤️觉得内容不错的话&#xff0c;欢迎点赞收藏加关注&#x1f60a;&#x1f60a;&#x1f60a;&#xff0c;后续会继续输入更多优质内容❤️ &#x1f449;有问题欢迎大家加关注私戳或者评论&#xff08;包括但不限于NLP算法相关&#xff0c;linux学习相关&#xff0c;读研读博…

SpringBoot中策略模式+工厂模式业务实例(接口传参-枚举类查询策略映射关系-执行不同策略)规避大量if-else

场景 设计模式-策略模式在Java中的使用示例&#xff1a; 设计模式-策略模式在Java中的使用示例_java 策略模式示例_霸道流氓气质的博客-CSDN博客 上面讲了策略模式在Java中的使用示例。 下面看一个在SpringBoot中的实际使用示例。 业务场景: 有多个煤矿&#xff0c;信号灯…

智安网络|网络安全威胁越来越多,教你如何全方面应对

随着互联网的普及和发展&#xff0c;各大网站已经成为人们获取信息和交流的主要平台。然而&#xff0c;随着网络攻击和恶意软件的威胁不断增加&#xff0c;网站经常成为攻击者的目标。因此&#xff0c;在建立和维护网站系统时&#xff0c;必须采取强大的安全措施。 一、网站系…

第四十二章 Unity 下拉框 (Dropdown) UI

本章节我们介绍下拉框 (Dropdown)&#xff0c;我们点击菜单栏“GameObject”->“UI”->“Dropdown”&#xff0c;然后调整它的位置&#xff0c;效果如下 其实它的本质就是一个下拉列表&#xff0c;然后选择列表中的一个选项而已。大家在很多网页中应该可以看到类似的UI元…

Vue框架

目录 简单介绍 MVVM 下载安装Node.js 安装Vue.js插件 新建Vue.js项目 下载vue依赖库 Vue工程目录结构 修改代码模板 vue组件中&#xff0c;添加模型数据 Vue双向绑定 动态绑定 vue组件中&#xff0c;显示图片 单选框绑定 复选框绑定 Vue的script表达式 Vue实例声…

MySQL概述 -- 数据模型SQL简介DDL数据库操作

一. 数据模型 介绍完了Mysql数据库的安装配置之后&#xff0c;接下来我们再来聊一聊Mysql当中的数据模型。学完了这一小节之后&#xff0c;我们就能够知道在Mysql数据库当中到底是如何来存储和管理数据的。 在介绍 Mysql的数据模型之前&#xff0c;需要先了解一个概念&#x…

【Linux】进程地址空间

目录 引入 进程地址空间 虚拟地址与物理地址 如何理解虚拟地址的不同区域 写时拷贝 动态开辟的细节 为什么存在进程地址空间 避免地址被随意访问 进程管理和内存管理解耦合 使进程用统一的视角看待代码和数据 引入 &#x1f383;我们写一个这样的程序&#xff0c;运…

算法记录 | Day50 动态规划

123.买卖股票的最佳时机III 思路&#xff1a; 1.确定dp数组以及下标的含义 最多可完成两笔交易意味着总共有三种情况&#xff1a;买卖一次&#xff0c;买卖两次&#xff0c;不买卖。 具体到每一天结束总共有 5 种状态&#xff1a; 未进行买卖状态&#xff1b;第一次买入状…

springboot - spring.factories

spring.factories 是什么&#xff1f; spring.factories 是 Spring Boot 自动配置的核心机制之一&#xff0c;它用于自动注册 Spring Boot 中的各种自动配置类&#xff0c;从而实现自动化配置的目的。在 Spring Boot 应用程序启动时&#xff0c;Spring Boot 会自动扫描 classp…

深度解读:《数字孪生世界白皮书(2023)》全方位剖析

2023年初&#xff0c;中国信息通信研究院发布了《数字孪生城市产业图谱研究报告&#xff08;2022&#xff09;》&#xff0c;报告中提出我国数字孪生产业四阶段体系&#xff0c;2020年到2030年是我国数字孪生产业增长期&#xff0c;当前数字孪生市场需求和技术均处于高速发展阶…

5月跳槽有风险,不跳也有?

今天讲讲跳槽。 说实话跳槽是为了寻求更好的发展&#xff0c;但在跳槽前我们也不能确定下家就是更好的归宿&#xff0c;这就更加需要我们审慎地去对待&#xff0c;不能盲目跳槽。 其次&#xff0c;我们离职和跳槽&#xff0c;其中的原因很大一部分是目前薪资不符合预期。 那…

C. Permutation Game(博弈 + 拓扑的思想)

Problem - C - Codeforces 经过漫长的一天&#xff0c; Aice和Bob决定玩一个小游戏。游戏棋盘由n个格子组成&#xff0c;在一条直线上&#xff0c;编号从1到n,每个格子包含一个数字4;,qy在1到n.之间&#xff0c;而且没有两个格子包含相同的数字。 一个棋子被放在其中一个格子里…

什么牌子蓝牙耳机好用不贵?国产性价比高的蓝牙耳机推荐

相较于有线耳机&#xff0c;无线蓝牙耳机更便携、功能更丰富&#xff0c;不用受到耳机孔与线的限制。那么&#xff0c;什么牌子的蓝牙耳机好用不贵&#xff1f;针对这个问题&#xff0c;我给大家推荐几款国产性价比高的蓝牙耳机&#xff0c;可以当个参考。 一、南卡小音舱Lite…

Spring使用注解存储和读取对象

文章目录 一、存储Bean对象配置扫描添加注解存储Bean对象注解使用范围Bean的命名五大类注解的关系为什么需要五大类注解? 二、方法注解BeanBean重命名 三、对象注入属性注入Setter注入构造方法注入Autowired 和 Resource 的区别 一、存储Bean对象 之前我们存储Bean时&#xff…

5 Redis缓存穿透、击穿、雪崩、分布式锁、布隆过滤器

1 Redis 应用问题解决 1.1 缓存穿透 1.1.1 问题描述 key 对应的数据在数据源并不存在&#xff0c;每次针对此 key 的请求从缓存获取不到&#xff0c;请求都会压到数据源&#xff08;数据库&#xff09;&#xff0c;从而可能压垮数据源。比如 用一个不存在的用户 id 获取用户…

一份标准的软件测试方案模板

第一章 概述 ​ 软件的错误是不可避免的&#xff0c;所以必须经过严格的测试。通过对本软件的测试&#xff0c;尽可能的发现软件中的错误&#xff0c;借以减少系统内部各模块的逻辑&#xff0c;功能上的缺陷和错误&#xff0c;保证每个单元能正确地实现其预期的功能。检测和排…