如何在Tortoise SVN服务器端禁止保存身份验证凭据?
为什么修改用户级servers文件未生效?
- 配置层级错误:
%appdata%\Subversion\servers属于用户级配置文件,并非你要的服务器级(全局/系统级)配置。Subversion的配置优先级是「用户级 > 系统级」,你之前已经在用户级config里设置了禁用凭据存储,因此修改同层级的servers不会覆盖已有生效配置。 - 参数位置错误:
servers文件中的store-passwords和store-auth-creds参数需要放在特定服务器组或目标服务器的配置块中(比如[global]块,或者你自定义的[groups]下的服务器条目),直接写在文件任意位置不会生效。
如何在服务器级(全局)禁用所有用户的凭据保存?
要实现全局强制禁用,需要操作系统级的Subversion配置文件,并配合权限限制:
1. 修改系统级config文件
- Windows:找到Subversion安装目录下的
conf文件夹,通常路径为C:\Program Files\Subversion\conf(64位系统可能是C:\Program Files (x86)\Subversion\conf),编辑其中的config文件:- 找到
[auth]块(如果没有则手动添加),添加或修改以下两行:store-passwords = no store-auth-creds = no
- 找到
- Linux/Unix:编辑
/etc/subversion/config文件,同样在[auth]块下添加上述配置。
2. 针对特定服务器强化限制(可选)
如果需要仅对特定SVN服务器禁用凭据存储,编辑系统级的servers文件:
- 在
[global]块(对所有服务器生效)或目标服务器的配置块中,添加:store-passwords = no store-auth-creds = no
3. 限制用户修改个人配置(关键)
由于用户级配置优先级高于系统级,若要完全禁止用户自行开启凭据存储,需设置用户个人配置文件的权限:
- Windows:找到每个用户的
%appdata%\Subversion\config和servers文件,右键设置为「只读」,并限制用户的写入权限。 - Linux/Unix:修改用户
~/.subversion/config和servers文件的权限为只读(如chmod 444 ~/.subversion/config),或通过系统权限策略禁止用户修改这些文件。
内容的提问来源于stack exchange,提问作者Wanner Hernandez
相关产品推荐
相关产品推荐

