我为使用 Trac(Apache,mod_python)和颠覆的项目设置了一个独立服务器(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 帐户。
在mgood上写道:
与其他仅使用另一个数据库表来存储用户的错误跟踪系统不同,Trac 采用了允许用户利用其 Web 服务器可用的众多身份验证模块的方法。这意味着许多用户不需要手动管理 Trac 用户,因为他们可以将 Trac 绑定到 LDAP、Active Directory 或他们已经拥有的任何集中式用户系统。
我并不热衷于安装/配置 LDAP 或 Active Directory,只是为了保持这些同步。我不相信 AccountManagerPlugin hack 会有所帮助。有任何想法吗?
此页面包含有关如何在 Apache 中针对 Unix 用户进行身份验证的信息。
乔尔,我和你的设置相同。我已经使用密钥身份验证配置了 svn+ssh,所有与浏览器相关的东西都将密码保存在 apache 文件中,这对于 /etc/passwd、trac、mail 和其他东西是相同的。
我所做的是一个简单的 Web 界面,用户可以在其中更改密码,然后在我需要的地方进行更新,以及一些额外的选项。
还有另一种选择 - 您自己的 bash 脚本,用户将以与 passwd 相同的方式执行该脚本。事实上,您可以更改此 bash 脚本名称,以便将其环绕 passwd。对我来说,这应该是更好的解决方案,但是我组织中的大多数人不习惯命令行,所以浏览器是最好的解决方案。