Teampass 3.2.3.2 介绍与选型指南
Teampass 3.2.3.2 介绍与选型指南:解析这款 PHP 生态团队共享密码管理器的定位、3.2 线认证加密架构与治理功能、版本节奏与版本教训,并给出与 Psono/AliasVault/2FAuth/PassIt 的量化选型对比与适用场景判断(全部数据联网溯源,查询日期 2026-10-24)。
Teampass 3.2.3.2 介绍与选型指南
目标:一句话说清 Teampass 是什么、3.2 线把加密与治理改成了什么样、与 Psono/AliasVault/2FAuth/PassIt 的量化差异,帮助团队在自托管共享密码库选型时快速判断是否适合选择 Teampass。本文为认知与选型篇,全部数据联网溯源自官网 teampass.net、官方文档站、GitHub 仓库(nilsteampassnet/TeamPass)Releases 与 shields.io 徽章,查询日期为 2026-10-24,不含本地实测结论。
一、环境信息
本文为认知与选型篇,所有信息通过官方渠道联网实查,未做本地部署验证(部署实操与配置细节见同专栏后续篇章):
- 产品:Teampass(开源团队密码管理器 / collaborative password manager)
- 当前最新稳定版:3.2.3.2(GitHub Releases 实查,发布于 2026-10-20,官方 Release Notes 明示「3.2.3.2 is the version to use for any new installation」)
- 规范源码仓库:
github.com/nilsteampassnet/TeamPass(注意官方仓库主不是Teampass/Teampass,该路径并非本项目仓库) - 官网:https://teampass.net ;官方文档站:https://documentation.teampass.net
- 许可证:GPL-3.0-only(官网首页信任条与 schema.org 元数据均实查为 GPL-3.0,spdx.org/licenses/GPL-3.0-only)
- 作者与维护方:法国开发者 Nils Laumaillé 个人发起,官网明示「Maintained since 2009」
- 技术栈:PHP(8.2 起为最低要求,自 3.2.1.1 起)+ MySQL 8 / MariaDB 10.7+(数据表必须 InnoDB)+ Apache 2.4 或 Nginx(官网 Install & requirements 页实查,2026-10-24)
- 社区活跃度数据来源:shields.io 徽章接口(GitHub Stars,1.9k,2026-10-24 实查)与 GitHub Releases/Tags 页
二、软件概述
2.1 产品定位
Teampass 的官方一句话定位是「Self-hosted collaborative password manager」——自托管的团队协作型密码管理器。官网首页对它的完整描述为:an open-source credential vault you run yourself: folder-level access control, authenticated AES-256-GCM encryption and built-in compliance evidence(一个你自己运行的开放凭据保险库:文件夹级访问控制、认证加密 AES-256-GCM、内建合规取证),并强调「Your secrets never leave your infrastructure」(机密数据不离开你的基础设施)。
与同赛道产品相比,Teampass 有四个显著标签:
- 团队共享优先:以「文件夹树 + 角色 + 用户级覆盖」为骨架的共享密码库,天然面向多人协作场景,个人密码管理只是它的子集(个人文件夹用专属密钥加密);
- PHP 生态:部署在传统 LNMP/AMP 栈上,任何能跑 PHP 应用的主机都能承载它,运维团队以 PHP 为主时可以自然接管二次开发;
- 治理与合规内建:3.2 线把访问再认证(recertification)、轮换策略跟踪、离职风险检测、四级数据分类、CSV 证据导出做进了免费开源版本,这是它区别于多数同类产品的最大特色;
- 十六年老项目:自 2009 年持续维护至今,穿越了 PHP 密码管理器从明文共享表格到认证加密的整个演进过程,代码库成熟度与历史包袱并存。
官网明示商业模式:所有列出的能力(无功能门控版本、无席位数管理)都在免费开源服务端内,项目资金来源于社区支持与商业服务(官网 About/Support 页导航实查)。
2.2 发展沿革与版本节奏
Teampass 由 Nils Laumaillé 于 2009 年启动,是自托管密码管理器赛道最早的开源项目之一。2026 年的 3.2 线被官方称为「The biggest change to Teampass in years」(多年来最大的一次变更):重建了整套加密体系,并补齐了审计者一直在要求的治理功能。
截取 GitHub Tags 页最近 10 个版本(2026-10-24 实查):
| 版本 | 发布日期 | 版本 | 发布日期 |
|---|---|---|---|
| 3.2.3.2 | 2026-10-20 | 3.2.2.6 | 2026-10-01 |
| 3.2.3.1 | 2026-10-16 | 3.2.2.5 | 2026-09-19 |
| 3.2.3.0 | 2026-10-12 | 3.2.2.4 | 2026-09-12 |
| 3.2.2.8 | 2026-10-07 | 3.2.2.3 | 2026-09-04 |
| 3.2.2.7 | 2026-10-04 | 3.2.2.2 | 2026-09-04 |
版本节奏解读:约 7 周内发布 10 个版本(周均 1~2 个补丁),全部集中在 3.2 线内滚动,属于高频安全修复型节奏——3.2.3.1 修复了两个严重漏洞,3.2.3.2 紧接着修复全新安装向导缺陷。对选型的含义是双面的:安全响应极快,但升级跟进压力也大,生产环境需要建立月度升级节奏。
⚠️ 版本选型的关键教训(官方 Release Notes 3.2.3.2 原文明示,2026-10-24 实查):3.2.3.1 无法全新安装——Web 安装向导的建表步骤会停在 35 张表(安全通告 GHSA-pxjv-6qgf-xhcg);而 3.2.3.0 及更早版本暴露在 3.2.3.1 已修复的两个严重漏洞之下。因此任何新装与升级都应直接选 3.2.3.2,不要回退到 3.2.3.0 或更早版本去「绕过」安装问题。另注意 3.2.3.2 变更了数据库结构(kb 表新增两个日期列,UPGRADE_MIN_DATE 抬高,所有存量安装都要再走一次升级向导)。
三、核心架构
3.1 技术栈与组件构成
Teampass 是典型的单体 PHP Web 应用,组件构成按官方 Install & requirements 页(2026-10-24 实查):
| 组件 | 要求 | 说明 |
|---|---|---|
| Web 服务器 | Apache 2.4 或 Nginx | 承载 PHP 应用与 TLS 终结 |
| PHP | 8.2 最低(3.2.1.1 起强制) | 服务端业务逻辑 |
| 数据库 | MySQL 8 / MariaDB 10.7+ | 全部数据落库,数据表必须 InnoDB |
| 后台任务 | cron 计划项 | 驱动后台任务(态势扫描、邮件摘要等) |
PHP 扩展要求:openssl、mbstring、bcmath、gmp、iconv、xml、gd、curl、mysqli,按需另加 ldap(仅对接目录认证时需要)。官网特别提示安装问题多出在「缺 PHP 扩展」或「数据库不是 InnoDB」两处。
架构含义:Teampass 没有独立的消息队列或搜索引擎依赖,一个 Web 进程加一个数据库就是全部运行时,资源门槛低(官网甚至宣传可跑在树莓派或 5 欧元的 VPS 上),代价是高并发场景下的横向扩展能力有限——它不是为数千并发用户设计的架构。
3.2 加密体系:3.2 线的认证加密重建
3.2 线把加密体系整体重建(官网 What's new 3.2 与 Security 页实查,2026-10-24):AES-256-GCM 认证加密取代 AES-CBC,配套随机 IV、每密钥独立盐值(per-secret salts)、256 位对象密钥、PBKDF2 60 万次迭代与 HKDF-SHA256 密钥派生。存量保险库不在升级时整体重加密,而是在每条机密首次被读取时惰性迁移到新格式;全新安装默认使用认证加密格式。
💡 技术拓展:「认证加密(AEAD)」不止 AES-256-GCM 一种实现,常见选项对比——
方案 原理/特点 适用场景/取舍 AES-256-GCM 加密+认证一体,硬件加速普及,性能好 现代应用首选;IV 管理不当会致命 AES-256-CBC + HMAC 先加密后认证(Encrypt-then-MAC),两步实现 遗留系统兼容;实现易出错 ChaCha20-Poly1305 软件实现快,无 AES 硬件指令时占优 移动端/无 AES-NI 的老机器 Teampass 3.2 实际采用 AES-256-GCM(认证加密),理由是同时拿到机密性与完整性保证、PHP openssl 扩展原生支持且性能好;旧数据沿用 CBC 格式只在首次读取时迁移,避免一次性重加密的停机风险。
3.3 权限模型:文件夹树 + 角色 + 用户级覆盖
Teampass 的访问控制全部长在「文件夹」上:文件夹组成树形结构,每个文件夹可配置细粒度权限(可见/编辑/删除/复制/口令生成等);角色承载一组预设权限并批量挂到用户;单个用户可在角色之上做覆盖。官方强调同一套规则在 Web 界面与 REST API 中同样生效,避免「界面管得住、接口管不住」的旁路。
配套的治理视图包括:访问再认证活动(对「谁有权访问什么」做周期性复审,决策记录不可篡改)、条目完整历史、轮换证据与可导出的访问矩阵。对需要向审计师证明访问控制的团队,这是它相对同类产品的核心增值。
四、功能特性
4.1 开源版本功能矩阵
官网 Capabilities 区块明示以下九类能力全部属于免费开源服务端(无功能门控、无席位数,2026-10-24 实查):
| 能力域 | 要点 |
|---|---|
| 文件夹与角色访问控制 | 文件夹树、角色预置权限、用户级覆盖,Web 与 API 同规则 |
| 认证加密 | AES-256-GCM + 随机 IV + 独立盐值 + PBKDF2(600k) + HKDF-SHA256;个人文件夹仅属主可读 |
| 安全态势(Security Posture) | 弱口令/重用/已泄露/超期轮换持续评分,个人安全分与可选邮件摘要 |
| Linux 口令轮换(LAPR) | 经 SSH 无代理轮换本机 Linux 账户口令,服务端先改、保险库后记 |
| 治理与审计 | 再认证活动(决策不可变)、完整条目历史、轮换证据、访问矩阵导出 |
| 身份集成 | LDAP/AD(含嵌套组)、OAuth2 单点登录、RFC 6238 TOTP 可配置档案 |
| 自动化 | REST API(文件夹 CRUD、一次调用取整棵树)+ 官方 Bash/PowerShell 客户端 |
| 迁移进出 | 导入 Bitwarden/LastPass/1Password/KeePassXC/KeePass XML/CSV;导出 KeePass 2.x XML |
| 日常效率 | Ctrl-K 命令面板、通知中心、收藏、标签、自定义字段、附件、浏览器扩展自动填充 |
3.2 线新增的两个旗舰功能值得单独说明:Secure Send(把一条凭据以带过期时间、查看次数上限、可选接收方口令的链接分享给保险库外的人)与 Passkeys(既把外部站点的通行密钥存进条目且私钥不出服务器,也支持用 Passkey 作为登录 Teampass 本身的第二因子或免密登录方式)。
4.2 功能边界
官方页面同样给出了「不是什么」:Teampass 不是个人消费级密码管理器的竞品(无手机原生 App 自动填充生态的深度),浏览器扩展仅覆盖 Chrome/Firefox/Edge;它也不是企业单点登录平台——OAuth2/LDAP 是「接入已有身份源」,不是「提供身份源」。选型时不应把它当成 Bitwarden 商业版的完整平替来期待移动端体验。
五、快速开始(最小可用示例)
以下流程按官方 Install & requirements 页整理(来源:teampass.net/install.html,查询日期 2026-10-24),三步完成从零到可用保险库;本文为认知篇,不含本地实测回显,逐条命令与实测输出见本专栏部署篇。
- 准备数据库:创建一个空的 MySQL 8 或 MariaDB 10.7+ 数据库与专用账号,确认默认存储引擎为 InnoDB——官方明示非 InnoDB 是最常见的新装失败原因之一。
- 就位程序:官方提供两种形态——打包好的即拉即用形态(拉取官方发布物
teampass/teampass),或把 GitHub Releases 的发布压缩包放进 Web 根目录的裸机 PHP 安装;两种形态后续流程一致。 - 跑安装向导:浏览器打开
/install,依次通过环境检查(PHP 版本/扩展/数据库连通)、建表、创建首位管理员账号;完成后立即删除 install 目录(官方在三步说明中显式要求)。
⚠️ 注意:官方建议新装直接用 3.2.3.2(原因见 2.2 节版本教训);装完首日五件事——开启认证加密格式确认、强制 2FA(TOTP 或 OAuth2)、先规划文件夹树再加用户、导入存量密码、跑首次态势扫描。完整的编排部署、参数解释与验证回显见《Teampass 3.2.3.2 Docker Compose 部署指南》(本专栏部署篇)。
六、适用场景与限制
6.1 适用场景
按官网三档人群划分(Individuals & homelab / Teams & SMB / Enterprise & regulated,2026-10-24 实查),Teampass 的甜蜜区在中间与右侧:
- 团队/SMB 共享密码库:用文件夹与角色取代共享文档,入职离职不再靠翻表格;「谁在什么时候访问过什么」全程留痕;
- 受监管企业的治理取证:再认证活动、轮换策略跟踪、四级数据分类与 CSV 证据导出,让「证明访问控制有效」出自由产品而非人工整理的电子表格;LDAP/AD 嵌套组与 OAuth2 SSO 接入已有身份源;
- homelab/个人:资源门槛极低(树莓派/5 欧元 VPS 可跑),个人文件夹用专属密钥加密,支持从 Bitwarden/LastPass/1Password/KeePassXC 一键迁入。
6.2 限制与注意
- PHP 8.2 是硬门槛:3.2.1.1 起强制,老 PHP 环境必须先升级运行时;
- InnoDB 强制:非 InnoDB 表会直接导致安装/运行异常,迁移存量库时先核对存储引擎;
- 版本时效敏感:如 2.2 节所示,3.2.3.1 存在全新安装缺陷、3.2.3.0 及更早存在两个严重漏洞——跟不上补丁节奏在这个项目上是有实际安全代价的;
- 单体架构的扩展上限:无内置集群/分片能力,超大规模(数千并发用户)场景应评估企业级方案;
- 3.2.3.2 升级向导强制:数据库结构变更(
kb表加列)使所有存量安装都要重走一次升级向导,升级窗口需预留。
七、同类选型对比
7.1 量化对比表
与同批评测的自托管密码/凭据类组件横向对比(各项目数据均为 2026-10-24 从各自官方渠道与 shields.io 徽章实查;PassIt 无 GitHub 主仓,社区活跃度按 GitLab 项目口径):
| 维度 | Teampass 3.2.3.2 | Psono v7.5.3 | AliasVault 0.31.1 | 2FAuth 8.0.3 | PassIt 1.25.0 |
|---|---|---|---|---|---|
| 定位 | 团队共享密码库 + 治理合规 | 零知识企业密码管理器 | 密码库 + 邮件别名双引擎 | 网页版 2FA 验证码管理器 | 个人/小团队密码管理器 |
| 许可证 | GPL-3.0 | Apache-2.0 | AGPL-3.0 | 自托管开源 | 开源 |
| 主技术栈 | PHP 8.2+ | Python(Django+Daphne) | .NET + Blazor | PHP(Laravel) | Python(Django)+ Angular |
| 数据库 | MySQL 8 / MariaDB 10.7+(InnoDB 强制) | PostgreSQL | PostgreSQL + SQLite 客户端 | SQLite/MySQL | PostgreSQL |
| GitHub Stars | 1.9k | GitHub 镜像仓 111(主仓在 GitLab) | 3.3k | 4.2k | 主仓在 GitLab |
| 版本节奏(近 2 月) | 约 7 周 10 版(周级补丁) | 约 2 月 12 版 | 快速迭代(0.x 期) | 平稳 | 平稳 |
| 团队共享/角色权限 | 强(文件夹树+角色+用户覆盖+再认证) | 有(分组共享+企业集成) | 有(基础共享) | 不适用(个人验证码库) | 有(组织/集合) |
| 治理与审计取证 | 内建(再认证/轮换证据/数据分类/CSV 导出) | 企业版方向 | 无 | 无 | 无 |
| 免费版边界 | 全功能免费,无席位门控 | CE 免费,EE 增 LDAP/SAML/SCIM | 全功能免费 | 全功能免费 | 免费,暂不接受新功能请求 |
关键差异解读:「团队共享密码库」与「个人密码库」是两条不同的需求线——2FAuth 根本不做密码管理(只管验证码),PassIt 明确把自己定位在个人/小团队,AliasVault 的差异化在邮件别名,Psono 的差异化在零知识架构与 Python 栈。Teampass 是这一组里唯一把「治理合规」(再认证、轮换证据、数据分类、审计导出)做进免费版的产品,也是唯一以「文件夹树为权限第一公民」的产品。
7.2 与 PassIt 的正面辨析
Teampass 与 PassIt 最容易混(都是「自托管开源密码管理器」),但生态与定位几乎互补(PassIt 的项目身份详见 《PassIt 1.25.0 介绍与选型指南》):
- 生态栈不同:PassIt 是 Python/Django 生态(后端 Django REST Framework + Angular 前端,主仓在 GitLab
passit/passit),Teampass 是 PHP 生态(PHP 8.2 + MySQL,主仓在 GitHub)——运维团队的语言栈归属常常是第一决策因子; - 协作模型不同:PassIt 面向个人/小团队,强调零知识与浏览器即用(仅 PWA,无原生客户端),功能克制(无密码健康报告、无管理后台 UI,甚至暂不接受新功能请求);Teampass 面向「多人 + 文件夹结构」的组织化共享,权限模型(角色/覆盖/再认证)与治理能力(审计/证据导出)明显更重;
- 演进姿态不同:Teampass 高频补丁、快速吸收新特性(3.2 线一次重建加密+加治理),PassIt 保持小而稳、克制扩张;
- 重合区:两者都开源免费、都可自托管、都支持 2FA 与组织化存储。如果团队在 5 人以下、只要一个干净的零知识密码库,PassIt 更轻;一旦需要文件夹级权限治理、共享审计与合规证据,Teampass 是这一组里更对位的答案。
7.3 选型建议
- 如果你的核心诉求是团队共享密码库 + 访问治理/审计证据,且运维栈是 PHP/传统 LNMP → 选 Teampass;
- 如果你要零知识加密优先 + Python 生态 + 企业身份集成(LDAP/SAML/SCIM 路线)→ 看 《Psono v7.5.3 介绍与选型指南》;
- 如果你要密码库 + 邮件别名一体化的现代栈方案 → 看 《AliasVault 0.31.1 介绍与选型指南》;
- 如果你要的其实是2FA 验证码管理而非密码管理 → 看 《2FAuth 8.0.3 介绍与选型指南》;
- 如果你是个人或 5 人以下小团队、只要一个克制的零知识密码库、偏好 Django 栈 → 看 《PassIt 1.25.0 介绍与选型指南》。
八、参考链接
- Teampass 官网(产品定位/信任条/能力清单/三档人群):https://teampass.net (查询日期 2026-10-24)
- 官方 Install & requirements 页(平台/数据库/PHP/扩展要求与三步安装流程):https://teampass.net/install.html (查询日期 2026-10-24)
- GitHub 仓库:https://github.com/nilsteampassnet/TeamPass (查询日期 2026-10-24)
- GitHub Releases(3.2.3.2/3.2.3.1 发布说明、GHSA-pxjv-6qgf-xhcg 通告引用):https://github.com/nilsteampassnet/TeamPass/releases (查询日期 2026-10-24)
- GitHub Tags 页(版本节奏表 3.2.2.2~3.2.3.2 十版日期):https://github.com/nilsteampassnet/TeamPass/tags (查询日期 2026-10-24)
- shields.io GitHub Stars 徽章(1.9k,2026-10-24 实查):https://img.shields.io/github/stars/nilsteampassnet/TeamPass.json
- 官方文档站:https://documentation.teampass.net