A maneira de executar o httpd como um grupo de usuários diferente é alterar o usuário ou a diretiva group no arquivo httpd.conf.
User apache
Group apache
Isso só mudaria o nobody
em sua saída para apache
, o que não é o que você deseja.
Para que o httpd seja executado como um usuário específico, você precisará criar e gerenciar um arquivo de configuração para cada um deles. O arquivo de configuração deve especificar o usuário e o grupo apropriadamente, bem como a porta para a qual o processo httpd deve se vincular por meio de um Ouça a diretiva . Lembre-se de que apenas usuários privilegiados podem se ligar a portas < 1024. Você pode então começar assim
apachectl -f /path/to/aramis.conf -k start -DSSL
Observe outras diretivas do httpd, por exemplo O VirtualHost provavelmente precisará mudar também por usuário.
Além disso, as variantes EL (RHEL, CentOS Scientific Linux, etc.) estão envolvidas no SELinux. Você terá que adicionar a porta à qual cada instância se ligará, ao http_port_t
group, por exemplo.
semanage port -a -t http_port_t -p tcp 8888
que permitiria que uma instância httpd se ligasse à porta 8888.
Se os usuários usarem seus diretórios iniciais para servir arquivos, você terá que permitir isso com o httpd_enable_homedires SELinux booleano
setsebool -P httpd_enable_homedirs on
Os itens acima devem permitir que você configure instâncias de usuário do httpd. No entanto, cada usuário terá que lembrar qual porta usar para adicionar aos seus URLs, por exemplo, para aramis acima
http://example.com:8888
Isso tudo é muito confuso. Para ajudar seus usuários a sair, você deve configurar seu httpd principal para escutar na porta 80 como de costume e agir como um proxy reverso para as instâncias por usuário. Então, quando aramis se conecta a, por exemplo,
http://aramis.example.com
o proxy do servidor principal é a instância do aramis.
Você terá que configurar o DNS e possivelmente outras coisas apropriadamente também.