como permitir que usuários do Apache e do sftp escrevam em pastas públicas de usuários?

0

Requisitos:

  1. Os usuários do sftp precisam ser capazes de manter os sites de suas contas via sftp. Eu criei um grupo "sftponly" para eles.

  2. O Apache (usuário: www-data) precisa ser capaz de ler, escrever e executar nas pastas "www" desses usuários. Por exemplo, o recurso de atualização automática do Wordpress deve funcionar sem especificar credenciais de FTP.

A estrutura de arquivos que eu sigo é assim:

/home/<username>/www/<domain.tld>/public

Consegui fazer com que qualquer um dos requisitos funcionasse, mas não os dois ao lado.

Aqui está o processo que sigo para criar um novo usuário no momento:

adduser <username>
usermod -G sftponly <username>
chown root:root /home/<username>
chmod 755 /home/<username>
cd /home/<username>
mkdir www
chown -R <username>:sftponly *
chown -R www-data:www-data /home/<username>/www
chmod -R 770 /home/<username>/www

Como posso atender a ambos os requisitos?

Sistema: Ubuntu 14.04, Apache 2.4.7

    
por pixeline 21.06.2015 / 22:03

1 resposta

0

Acredito que a maneira mais fácil de atender a ambos os requisitos provavelmente seria utilizar as listas de controle de acesso:

ACLs - Arch-Wiki

Basta adicionar outro grupo assim:

setfacl -mR "g:sftponly:rw" /home/<username>/www

Se você não puder ou não quiser usar o ACL, sugiro consultar esta documentação:

SCPOnly

O SCPOnly é um shell especial que pode funcionar com jail chroot e PAM para permitir acesso remoto a usuários com mais segurança.

    
por 22.06.2015 / 16:20