Eu apenas usaria um firewall para controlar o acesso. Para fazer isso funcionar, você teria que ter a configuração do OpenVPN para usar uma interface tun e direcionar o tráfego através de um firewall. Depois disso, você tem algumas opções para limitar o acesso. Você pode atribuir um endereço IP estático ao contratado usando a diretiva client-config-dir
e, em seguida, restringir o que esse endereço IP pode acessar. Se você mantiver os endereços IP estaticamente atribuídos em um bloco de IPs que pode ser descrito usando um CIDR diferente dos usuários (funcionários) do OpenVPN DHCP, então você pode escrever regras de firewall facilmente para direcionar cada tipo de usuário. A outra opção que eu prefiro, acima de tudo, acho mais fácil de gerenciar é configurar dois servidores OpenVPN diferentes em portas diferentes usando sub-redes diferentes para os clientes e usar um para acesso de funcionários e outro para acesso de contratado. Então você pode aplicar quaisquer restrições que você gostaria em qualquer grupo baseado na sub-rede sem ter que lidar com endereços IP individuais.
No lado do SAMBA, você pode simplesmente confiar nas permissões dos arquivos para restringir o que ele vê. Mas se você não quiser, ou não puder, expor todas as ações normais ao contratado b / c, elas podem divulgar informações como lista de clientes / projetos, então você pode usar a opção invalid users = <username>
nas ações que você não deseja ver. E adicione uma parte apenas para o contratado usando a diretiva valid users = <username>
. Outra opção seria usar as diretivas include = /somepath/%G.smb.conf
ou include = /somepath/%u.smb.conf
para fazer por grupo primário ou por diretivas de configuração do usuário.