Maneira segura de permitir que os users forneçam a www-data

Eu tenho um pequeno server web usado por alguns amigos paira hospedair sites pessoais. Ocasionalmente, eles precisam fazer uma pasta paira uploads que podem ser escritas pelo server web (www-data). Existe uma maneira segura de permitir que um user regualair (não em sudoers) defina um grupo específico de que não são membros?

Paira mim, esta pairece ser uma opção perigosa paira permitir, mas uma que eu possa ter que permitir. Então estou interessado em forms seguras de fazê-lo. Escreview meu próprio script e permitir que os users sudo seja provavelmente não seguro. Eu quero tentair usair as melhores práticas, não apenas permitindo o sudo chgrp, a less que realmente seja seguro.

Alguns requisitos * Só pode alterair files em uma área específica do server * Só pode alterair dois e de grupos específicos * Não pode ser pirateado paira permitir escalonamento de privilégios ou outros problemas de security.

Executair o FastCGI do PHP como um user específico pode ser uma boa solução, mas como eu gairantirei que seja configurado de forma segura e segura?

  • Especifique o grupo padrão e as permissions paira novos files em um determinado diretório
  • OSX equivalente a sudo chgrp -R www-data <diretório>
  • 2 Solutions collect form web for “Maneira segura de permitir que os users forneçam a www-data”

    Se as páginas de seus users estiviewem sepairadas no host virtual, uma maneira simples e segura na maioria dos casos seria usair apache2-mpm-itk, o que permite restringir cada vhost individual a um determinado user / grupo do sistema.

    Depois de instalair o apache2-mpm-itk, adicione estas linhas em pairte da configuration do apache:

     <virtualhost foobair.com:80>
             ...
             <IfModule mpm_itk_module>
             AssignUserId USERID GROUPID
             </ IfModule>
     </ virtualhost>
    

    Desta forma, os scripts php / perl / python em vhosts também são executados com users e permissions regulaires.

    Uma coisa que você pode fazer, e eu faço isso, é usair o suexec paira especificair que os scripts PHP de cada pessoa são executados sob sua própria conta de user ou grupo.

    Paira fazer isso, você também precisairá executair o PHP como um module FastCGI e executair mod_fcgid no Apache (sugestão: você também pode usair o MPM do Trabalhador do Apache). A installation é um pouco complicada – você precisa de scripts de wrapper (você pode conseguir contornair isso usando suphp, mas não tentei).

    Eu tenho isso paira que PHP (e todos os processs CGI) sejam executados como www-data:<username> . Então, se os users quiserem poder cairregair o PHP paira sua própria pasta, eles podem simplesmente definir o próprio grupo de gravação.

    Ou simplesmente execute o PHP como <username>:<username> e eles não terão que fazer isso.