Como dar permissões de gravação para vários usuários?

5

Eu tenho um servidor web e estou enviando arquivos usando um cliente FTP. Por causa disso, o proprietário e o grupo do arquivo são retirados do usuário usado durante o upload.

Agora eu tenho que fazer este arquivo gravável pelo servidor web (apache / apache).

Uma maneira seria apenas alterar o proprietário e o grupo do arquivo enviado para apache / apache, mas dessa forma não posso modificar o arquivo usando a conta FTP. Outra maneira seria dar permissões ao arquivo 777.

Ambas as abordagens não parecem muito profissionais e um pouco arriscadas. Existem outras opções? No Windows, posso simplesmente adicionar outro usuário ao arquivo. Algo semelhante pode ser feito com o Linux?

    
por Daniel Rikowski 09.08.2010 / 11:03

3 respostas

13

Você pode alterar o grupo dos arquivos:

groupadd webusers
usermod -aG webusers the_user_name
chgrp -R webusers the_directory
chmod g+s the_directory

Se esta for uma distribuição baseada em RedHat, você pode usar setfacl para fazer isso sem um grupo e configurá-lo para acontecer por padrão:

setfacl -R -m user:the_username:rwx directory_name
setfacl -d -R -m user:the_username:rwx directory_name
    
por 09.08.2010 / 11:07
2

Permitir que um grupo de usuários mantenha um conjunto de arquivos é uma coisa: basta definir adicioná-los a um grupo comum e definir a propriedade dos arquivos e diretórios existentes para esse grupo e, em seguida, definir o grupo de bits em quaisquer diretórios (subsequentemente, os arquivos devem ser adicionados como graváveis pelo grupo por padrão).

Now I have to make this file writable by the web server

Você precisa ser muito cuidadoso e muito seletivo sobre quais arquivos você pode tornar gravável pelo servidor para evitar problemas de injeção de código - NÃO adicione o servidor web ao grupo de usuários definido acima - mantenha esses arquivos completamente separados do outro conteúdo. o site (ou seja, em um diretório separado com todos os cgi / php etc desativado), de preferência fora da raiz do documento completamente. A maioria dos servidores FTP permite que você defina as permissões de upload (0666 para arquivos, 0777 para diretórios) e / ou defina o outro bit em diretórios.

C.

    
por 09.08.2010 / 11:38
0

para que o setfacl funcione, a partição deve ser montada com a opção 'acl'

    
por 09.08.2010 / 14:39