我正从一位失踪的开发人员手中接管一台服务器,并且使用Subversion设置了系统。我从未使用过Subversion,但需要确保他无法使用它。我确实有登录。
我的问题是:
root是否有办法修改/删除Subversion用户,而无需通过Subversion登录?
如果这没有意义,那主要是因为我不明白Subversion是如何运作的,所以不能正确地提出这个问题。
答案 0 :(得分:8)
授权以三种方式之一完成,具体取决于存储库URL:
http://,https:// 身份验证在apache中完成。最常见和最简单的情况是基本身份验证。 passwd文件由apaches htpasswd-tool创建。查看您的httpd.conf,查找 AuthUserFile 指令的位置。该文件不应该包含旧的开发人员名称。
<强>的svn:// 强> 身份验证在svnserve进程中完成。对于此安装程序,请检查其config-directory(/path/to/repo/conf/svnserve.conf)中的存储库配置。在这个文件中应该是另一个提到的文件,查找 password-db 。该文件不应该包含旧的开发人员名称。
<强> SVN + SSH:// 强> 身份验证是通过SSH完成的,因此您必须禁用旧的开发人员系统帐户或将其从具有对存储库的读/写访问权限的组中删除
答案 1 :(得分:3)
首先要删除主机系统访问权限。可能这是ssh,所以删除他的帐户并存档他的目录,但我们需要更多关于你的系统的信息来确定。有多种方法可以将权力写入svn存储库。
您可以在svn manual at this section.中找到可能需要撤消的不同类型的凭据。您可能希望快速查看并查看 conf / passwd 和 conf /中的内容svnserve.conf的
答案 2 :(得分:2)
您的subversion服务器是如何设置的?如果它是独立的,您应该查看存储库的conf
目录。
如果它使用SSH和普通用户帐户,那么只需删除Unix用户即可。
如果它正在使用Apache,我不确定......
答案 3 :(得分:2)
彼得帕克的答案是一个很好的答案。我想补充几点。
找到passwd文件后,您必须从列表中删除开发人员。为此,请使用以下命令:
htpasswd -D /path/to/passwd/file developer_username
要知道开发人员的SVN用户名是什么,请打开passwd文件并检查该文件中找到的用户名是什么。如果您不确定哪个用户名,您可以删除所有用户,如您所说,没有人使用它。
答案 4 :(得分:1)
要每次调用svn密码,请按照以下步骤操作。如果您编辑此文件,它将适用于所有用户。如果您只想为此发生此事,请还原更改,下次询问是否存储密码时请输入“否”。
<强>步骤强>
编辑/root/.subversion/servers
文件并取消注释以下条目以调用密码:
store-passwords = no
store-plaintext-passwords = no
答案 5 :(得分:0)
Subversion并没有内置用户的概念;授权单独处理。通常,这是由svn正在运行的apache服务器完成的。
您需要查看自己的svn服务器配置,以了解授权的位置。 svn book第6章中有更多具体信息。
答案 6 :(得分:-4)
设置你的iptables以通过他的IP地址限制用户。
因此,他甚至无法看机器。