Usuários e grupos do servidor da Web

2

Eu configurei um servidor da Web que hospedará sites para vários clientes, cada cliente terá seu próprio usuário e os arquivos de seus sites existirão em /var/www .

Implementamos código por meio de um serviço chamado DeployHQ, que se conecta via SSH usando o nome de usuário do cliente, assim quando os arquivos são enviados para o servidor em que são criados com esse nome de usuário e grupo de clientes.

O problema que estou tendo é que o usuário do servidor web www-data não pode atualizar arquivos, por exemplo, este arquivo .htaccess :

 4 -rw-rw-r--  1 client_user client_user   945 Oct 30 12:07 .htaccess

Eu poderia apenas alterar o grupo de arquivos para www-data , no entanto, os novos arquivos implantados não serão criados dessa maneira, portanto, essa não seria uma solução de longo prazo.

Considerando que eu quero um usuário para cada cliente, alguém pode recomendar uma maneira de permitir que www-data faça qualquer coisa que o cliente possa fazer?

Acabei de ler um pouco sobre a configuração do Set-Group-ID , isso é algo que devo considerar?

Muito obrigado

    
por Ben Everard 05.11.2013 / 11:45

1 resposta

3

Isso pode ser obtido configurando o bit SGID nos diretórios para cada usuário. Por exemplo:

tom@tomh:~▶ mkdir testdir # Just an example dir
tom@tomh:~▶ sudo chgrp www-data testdir # Change the group
tom@tomh:~▶ touch testdir/before 
tom@tomh:~▶ ls -la testdir/before # At the moment files have the default group 'tom'
-rw-rw-r-- 1 tom tom 0 Nov  5 11:04 testdir/before
tom@tomh:~▶ sudo chmod g+s testdir/ # Set the SGID bit on the dir
tom@tomh:~▶ touch testdir/after
tom@tomh:~▶ ls -la testdir/after # Files now have the same group as the dir
-rw-rw-r-- 1 tom www-data 0 Nov  5 11:04 testdir/after

Lembre-se de certificar-se de que seus vídeos para os usuários também incluam as permissões de grupo corretas nos arquivos!

    
por 05.11.2013 / 12:10