Os hosts virtuais do Apache2 foram executados como usuários diferentes

1

Eu sou razoavelmente Apache2 savy, mas fui encarregado do meu trabalho para fazer o seguinte:

Atualmente, o servidor tem dois vhosts. (Dois clientes totalmente separados) Fui perguntado se eu poderia criar uma conta de usuário pela qual um dos clientes seria capaz de ter basicamente preso FTP ou SFTP (preferencialmente) o acesso apenas aos seus arquivos.

A forma como os vhosts estão atualmente expostos é que ambos residem em; (client1 & 2 são obviamente pseudônimos para os nomes reais) / home / web / client1 e / home / web / public_html (client2) NOTA: Todos os diretórios listados são todos da web: web para owner: group. (Eu sei que isso vai ter que mudar para alcançar o resultado desejado.)

Meus pensamentos eram criar um novo usuário (chamá-lo, client1) e mover sua webroot para / home / client1 / public_html e, em seguida, configurá-los com uma conta rssh para que eles pudessem SFTP apenas em suas coisas.

Onde as coisas começam a ficar um pouco mais complicadas para mim é agora que eu terei duas contas de usuário diferentes, possuindo seus respectivos diretórios e arquivos de conteúdo web e precisarei do Apache para poder trabalhar para ambos, além de permitir acesso cliente.

Então, como eu configuro cada vhost para que o servidor web atenda os dois sites? Preciso fazer um chown client1: www-data no diretório public_html do client1 assim como chown client2: www-data ou não estou nem no caminho certo aqui?

Como você pode ver, o problema realmente é multifacetado. Então, tente ser o mais detalhado possível em relação ao problema do vhost e ao problema do encarceramento.

Obrigado pessoal.

    
por Skittles 16.12.2011 / 18:08

2 respostas

0

Se este for um problema real para você (não estou certo de que seja porque o Apache efetivamente 'prende' o acesso via diretivas normais por vhost). Mas se você realmente quiser resolver o problema de uma vez por todas, considere o uso de IPs com alias e instâncias de apache totalmente separadas vinculadas a seus respectivos IPs apenas. Por exemplo, o apache do cliente 1 está vinculado ao endereço IP 192.168.0.11:80 (eth0: 0), e o cliente 2 vai para 192.168.0.12:80 (eth0: 1), etc.

Isso funcionará e permitirá que você separe totalmente essas instâncias e faça o que quiser. Espero que isso ajude.

    
por 17.12.2011 / 20:44
1

Acabei de verificar a documentação do Apache httpd 2.2.

Parece que não há uma diretiva "User" por vhost. A única coisa que se aproxima dessa ideia é a diretiva "SuexecUserGroup". Mas isso só funciona para cgis.

    
por 16.12.2011 / 23:06