Acesso do usuário ao FTP e ao mesmo tempo configure www-data como dono / grupo

2

Para que o wordpress leia / grave, o proprietário dos arquivos / pastas precisa ser www-data.

Agora, o problema é que, se o proprietário for www-data da transferência de grupo (www-data: filetransfer), o ftpclient1 do usuário FTP poderá efetuar login, mas não terá permissão de gravação nas pastas configuradas como www-data: filetransfer o proprietário.

Como posso fazer isso funcionar?

    
por Rob 12.07.2015 / 06:22

1 resposta

2

Esse cara Tom merece uma medalha por este post no ServerFault

Definir o ID do grupo da maneira como ele explica que funcionou!

  

Tentando expandir a resposta do @ Zoredache, enquanto eu faço isso   eu mesmo:

     
  • Crie um novo grupo (www-pub) e adicione os usuários a esse grupo

    groupadd www-pub 
    usermod -a -G www-pub usera    # must use -a to append to existing groups
    usermod -a -G www-pub userb
    groups usera    ## display groups for user
    
  •   
  • Altere a propriedade de tudo em / var / www para root: www-pub

    chown -R root:www-pub /var/www    # -R for recursive
    
  •   
  • Altere as permissões de todas as pastas para 2775

     chmod 2775 /var/www 
    
         

    2 = definir ID de grupo, 7 = rwx para proprietário (raiz), 7 = rwx para grupo (www-pub), 5 = rx para o mundo (incluindo apache www-data   usuário)

         

    Defina o ID do grupo ( SETGID ) bit (2 ) faz com que o grupo (www-pub) seja copiado para todos os novos arquivos / pastas criados nessa pasta. De outros   opções são SETUID (4) para copiar o id do usuário, e STICKY (1) que eu   acho que só permite que o proprietário exclua arquivos.

         

    Há uma opção -R recursiva, mas isso não discrimina entre arquivos e pastas, então você precisa use find , assim:

    find /var/www -type d -exec chmod 2775 {} +
    
  •   
  • Altere todos os arquivos para 0664

    find /var/www -type f -exec chmod 0664 {} +
    
  •   
  • Altere a umask para seus usuários para 0002

         

    O umask controla as permissões de criação de arquivo padrão, 0002 significa que os arquivos terão 664 e os diretórios 775. Configurando isto (por   editando a linha umask na parte inferior de /etc/profile no meu caso)   significa que os arquivos criados por um usuário serão graváveis por outros usuários no   www-group sem precisar chmod deles.

  •   

Teste tudo isso criando um arquivo e um diretório e verificando o   proprietário, grupo e permissões com ls -l .

     

Observação: você precisará efetuar logout / in para alterações em seus grupos   efeito!

    
por Rob 12.07.2015 / 08:46