Trac与ssh密码同步

Trac与ssh密码同步

我为使用 Trac (Apache、mod_python) 和 subversion 的项目设置了一台独立服务器 (Ubuntu 9.04)。我创建了本地用户帐户,以便被授予存储库提交权限的项目成员使用 ssh...

sudo adduser --ingroup uomdev --force-badname JohnDoe

...这让他们可以轻松结账...

svn checkout svn+ssh://[email protected]/usr/local/svn/uom

...并为他们提供相同的 Trac 帐户...

sudo htdigest /usr/local/trac/users.htdigest trac JohnDoe

...我手动同步两个帐户之间的密码(生成一个新密码,在两个帐户上强制使用,然后通过电子邮件发送给用户)。

当用户忘记密码时,这种方法没问题,但如果用户想自己更改密码,这种方法就行不通了。他们可以通过 ssh 进入服务器并运行 passwd,但这样会留下 Trac 帐户。

很好已经写过了:

与其他仅使用另一个数据库表来存储用户的错误跟踪系统不同,Trac 采用了允许用户利用其 Web 服务器可用的众多身份验证模块的方法。这意味着许多用户不需要手动管理 Trac 用户,因为他们可以将 Trac 绑定到 LDAP、Active Directory 或他们已经拥有的任何集中式用户系统。

我并不热衷于安装/配置 LDAP 或 Active Directory 以保持这些同步。我不相信 AccountManagerPlugin 破解会有帮助。有什么想法吗?

答案1

Joel,我的设置和你的一样。我使用密钥身份验证配置了 svn+ssh,所有与浏览器相关的内容都将密码保存在 apache 文件中,对于 /etc/passwd、trac、邮件和其他内容也是如此。

我所做的是一个简单的网络界面,用户可以在其中更改密码,然后在我需要的地方更新密码,另外还有一些额外的选项。

还有另一种选择 - 您自己的 bash 脚本,用户将以与 passwd 相同的方式执行该脚本。事实上,您可以更改此 bash 脚本名称,使其环绕 passwd。对我来说,这应该是更好的解决方案,但我的组织中的大多数人不习惯使用命令行,因此浏览器是最好的解决方案。

答案2

这一页包含有关如何在 Apache 中对 Unix 用户进行身份验证的信息。

相关内容