Permitir que o provedor externo acesse a Webfolder no CentOS. (Opção SFTP)

1

Seguindo o Problema: Nós rodamos um servidor web CentOS e gostaríamos de conceder acesso a um contratado externo que só precisa acessar nossa página web '' / var / www 'para Modificar / Carregar arquivos.

O que eu tentei foi configurar a prisão do SFTP (de acordo com a seguinte documentação: link ), mas não consigo fazê-lo funcionar devido ao seguinte motivo: Toda a webpasta atribuiu o apache do Apache User: apache, como de costume, no CentOS. Mas o SFTP precisa ter raiz: posse de raiz caso contrário, aparece o seguinte erro:

fatal: propriedade incorreta ou modos para o componente de diretório chroot "/ var / www /" [postauth] Então, como posso configurar SFTP ou outra solução para manter a pasta "www" apache: apache e permitir que outro usuário a acesse?

Existem outras opções para resolver este problema, então o SFTP ou SFTP é a coisa certa a fazer?

Agradeço antecipadamente por sua ajuda!

    
por joelschmid 12.01.2016 / 10:17

1 resposta

0

Eu finalmente usei o SFTP para resolver o problema mencionado. Os principais problemas em que as permissões de arquivo. Eu fiz os seguintes passos (rodando o CentOS 7.2):

Permissões de pasta Seguindo as permissões de arquivo, quando definido. Incluindo o bit pegajoso (explicado após o código).

sudo find /var/www/html/ -type f -exec chmod 664 {} \;
sudo find /var/www/html/ -type d -exec chmod 775 {} \;
sudo find /var/www/html/ -type d -exec chmod g+s {} \; # Set SGID in order to keep group for newly created files
sudo chown -R apache:webmasters /var/www/html/website/data/ # As data directory must be writable by apache
chown root:root /var/www/

Crie um grupo e usuários

Crie um usuário para provedor externo e defina uma nova senha.

groupadd webmasters
useradd -g webmasters -d /var/www/ -s /sbin/nologin externalProvider
passwd externalProvider

Configuração do subsistema sftp-server em sshd_config

vim /etc/ssh/sshd_config

Descreva o subsistema existente e adicione:

Subsystem       sftp    internal-sftp

Adicione o final do sshd_config

Match Group sftpusers
       Match Group webmasters
        ChrootDirectory /var/www/
        AllowTCPForwarding no
        X11Forwarding no
        ForceCommand internal-sftp

Reinicie o serviço sshd

systemctl restart sshd

Faça login via SFTP para testar a conexão

sftp externalProvider@hostname

Segurança

O SELinux está impondo e nunca foi questionado sobre essa configuração de SFTP.

    
por 13.01.2016 / 16:27