是否有可能限制访问一个SVN服务器不仅是凭据,而是机器?

除了我们刚刚拥有的新桌面外,我的办公室还为所有员工提供了笔记本电脑。 我被要求保护我们的svn server ,这是一个专门的服务器托pipe的地方与ubuntu运行的。

在这种情况下限制访问意味着只有高级开发人员才能访问他们笔记本电脑上的svn repositories 。 其余的开发人员团队只能访问新的桌面而不是他们的笔记本电脑

我们目前使用http/s:访问存储库http/s:

有什么办法可以实现吗?

Subversion和mod_dav_svn不允许基于计算机名称授权用户。

你需要拆分你的LAN

 192.168.0.0/24 - for new desktops 192.168.1.0/24 - for laptops of senior developers 192.168.2.0/24 - other developers 

然后你可以尝试使用带时间模块的iptables

 # iptables -I FORWARD -p tcp -s 192.168.2.0/24 -d repo.mycompanyname --dport 80 -j DROP # iptables -I FORWARD -p tcp -s 192.168.2.0/24 -d repo.mycompanyname --dport 80 -m time --timestart 09:00 --timestop 18:00 --days Mon,Tue,Wed,Thu,Fri -j ACCEPT 

不是通过典型的SVNfunction,但如果你想做一些黑客攻击,任何事情都是可能的。 您将需要一些方法来识别正在尝试连接的计算机,如果它们不在不同的子网上,那么可以做的事情就不多了。 也许你可以安装一个特定的浏览器,只有高级的笔记本电脑,然后用一个Perl脚本parsing用户代理,如果成功,它会转发SVN请求。 虽然这是一个糟糕的解决scheme。 也许你可以看看客户端脚本解决scheme,并find可以确定计算机模型的东西。

笔记本电脑和台式机是Windows还是Linux?