1

不久前,我在一台 Ubuntu 机器上安装了 apache subversion。然后,我的一位同事控制了它。最近他辞掉了工作,现在我必须删除他的用户以防止将来访问。

我读过很多帖子和谷歌很多。在 conf 文件夹下(在每个存储库中),有 authz、passwd 和 svnserve 文件,但这些文件中没有用户,我检查了是否启用了匿名访问,发现用户无法匿名访问。

我已经使用以下命令检查了有权访问存储库的用户:

svn log -q file:///var/subversion | grep -e '^r' | awk 'BEGIN { FS = "|" } ; { print $2 }' | sort | uniq

我可以在输出中看到用户名。我还检查了 Linux 用户

cat /etc/passwd

命令并且用户不在列表中。我还检查了 /etc/apache2 下为空的 http.conf 文件和仅包含我的测试用户的 dav_svn.passwd 文件。

我想要做的是删除这个特定的用户。有什么提示我该怎么做吗?

ps:我相信这个用户的旧提交在删除后不会丢失。那正确吗?

4

2 回答 2

3

假设,这AuthType Basic是使用的(如果必须将 Digest 命令更改为 htdigest 并重新检查选项)正确的方式必须是(根据htpasswd doc

  • 删除用户:htpasswd -D PASSWDFILE username
  • 替换密码(没有脚本的懒惰肮脏的解决方案,手工,可能会得到改进):

htpasswd -b PASSWDFILE username password(命令中的纯文本密码)每个用户名

于 2013-01-08T15:43:49.630 回答
1

好的,我得到了答案。用于密码的文件的路径dav_svn.conf/etc/apache2/modes_available. 当我检查路径时,文件中存在所有用户和密码。

我在要阻止的用户之前放了一个美元符号,重新启动了 apache,问题就解决了。

现在的另一个问题是,由于该人创建了所有帐户,因此他还知道​​其他用户名和密码。我想更改所有用户的密码,但是,它们都是加密的。如何更改用户密码?我应该将它们全部删除并重新添加吗?

于 2013-01-08T12:04:49.370 回答