Ubuntu 23.04下添加新用户后svnserve验证失败求助
检查passwd文件格式
确保用户条目严格遵循用户名 = 密码格式,等号前后必须有空格,同时避免多余空行、注释格式错误。可通过cat /path/to/svn/repo/conf/passwd查看内容,对比历史正确条目校验格式。验证passwd文件权限
svnserve运行用户(通常为svn或nobody)需拥有passwd文件的读权限。执行ls -l /path/to/svn/repo/conf/passwd查看权限,若权限不符,用chmod 644 /path/to/svn/repo/conf/passwd调整,同时保证conf父目录权限为755。核对svnserve.conf配置
确认conf目录下的svnserve.conf中,以下配置项未被注释且顶格书写(配置项前不能有空格):anon-access = none auth-access = write password-db = passwd配置项前带空格会被svnserve忽略,导致认证逻辑失效。
重启svnserve服务
即使移除新增用户,svnserve可能仍缓存旧配置。若用systemd管理,执行systemctl restart svnserve;否则先killall svnserve,再重新启动服务:svnserve -d -r /path/to/svn/repos。服务器本地连接测试
在Ubuntu服务器上执行svn co svn://localhost/你的仓库路径,输入正确用户名密码验证。若本地连接失败,问题明确在服务器端;若本地成功,再聚焦客户端排查。客户端深度排查
除清除验证数据外,需彻底删除TortoiseSVN保存的认证条目:打开TortoiseSVN设置→已保存的数据→认证数据→清除,选中对应SVN服务器条目删除。同时确认客户端输入的URL、用户名完全匹配(Linux服务器路径和用户名区分大小写)。
内容的提问来源于stack exchange,提问作者William J. Starck

