Можно ли ограничить доступ к серверу SVN не только учетными данными, но и машинами?
Мой офис предоставил ноутбуки всем сотрудникам в дополнение к новым рабочим столам, которые у нас есть. Меня попросили обеспечить нашу svn server
который является выделенным сервером, размещенным где-то с ubuntu
работает на нем.
Ограничение доступа в этом случае означает, что только старшие разработчики могут получить доступ svn repositories
на своих ноутбуках. остальная часть команды разработчиков может иметь доступ только к новым рабочим столам, а не к ноутбукам
в настоящее время мы получаем доступ к репозиториям, используя http/s:
Есть ли способ добиться этого?
2 ответа
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
Не через обычные возможности SVN, но все возможно, если вы хотите взломать. Вам понадобится какой-то способ идентифицировать компьютер, который пытается подключиться, если они не находятся в разных подсетях, вы ничего не можете сделать. Возможно, вы можете установить определенный браузер только на ноутбуки старшего поколения, а затем проанализировать пользовательский агент с помощью сценария Perl, после чего в случае успеха он перенаправит запрос SVN. Хотя это дерьмовое решение. Возможно, вы сможете найти решения для сценариев на стороне клиента и найти что-то, что может определить модель компьютера.
Это ноутбуки и десктопы Windows или Linux или как?