Eu criei um usuário e criei seu diretório pessoal /var/www/mysite/ftpdir
Também adicionei uma entrada de usuário Corresponder a esse usuário sshd_config
com um ChrootDirectory que aponta para/var/www/mysite
Eu reiniciei ssh
para pegar isso.
Quando eu faço login com sftp - o usuário ainda acessa o diretório antigo do usuário, ou seja, /home/user
o que estou perdendo?
/home/user
para o alvo?Respostas:
Este é o processo:
Adicione o usuário ao grupo:
sudo usermod -aG www blub
como em Qual é a maneira mais simples de editar e adicionar arquivos a "/ var / www"?ou apenas use
sudo adduser <username> www-data
sudo apt-get install vsftpd
Configure o vsftpd para acesso remoto:
sudo nano /etc/vsftpd.conf
e dentro do conjunto de arquivose verifique se isso está comentado:
conforme documentação .
sudo service vsftpd restart
Configure o diretório inicial do usuário para o diretório da web (não em
/home
):Configurar ssh chroot
adicione o seguinte ao final:
e garanta que, mais adiante no arquivo, isso seja comentado (ou seja, antes do que você acabou de adicionar)
Reinicie o ssh
Mude as permissões para o apache:
Como nos documentos aqui .
Verifique se seu diretório tem acesso a dados www
fonte
chown root:root /var/www/site
apenas revertê-la parasudo chown -R www-data:www-data /var/www/site
a Etapa 10, isso é deliberado?Se você está recebendo um erro de conexão recusada no final, verifique se "Subsystem sftp internal-sftp" está localizado após "UsePAM yes" . Caso contrário, atualize e reinicie o ssh e funcionou.
fonte
Eu tenho um método simples e que funcionou para mim no apache.
É isso caso você ainda enfrente o uso de problemas de permissão
chmod
e oschown
resolva de acordo com suas necessidades.fonte