Examinei muitos sites e fóruns sobre como configurar um usuário SFTP preso a um determinado diretório usando o CHROOT. Aqui estão as etapas que segui, mas não consigo obter permissões de gravação para funcionar.
Configuração
sshd_config
#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
Match group webmaster
X11Forwarding no
ChrootDirectory %h
AllowTcpForwarding no
ForceCommand internal-sftp
Criar pasta
mkdir /var/www/sites
Criar usuário e grupo
useradd uploader
passwd uploader
usermod -d /var/www/sites uploader
groupadd webmaster uploader
groupadd www-data uploader
Permissões e Propriedade
chown root:root /var/www
chmod 755 /var/www/sites
Agora, com essas configurações, o usuário que fez o upload do arquivo pode fazer o SFTP no diretório inicial, mas não pode gravar no diretório.
Existem 2 erros típicos que ocorrem: não consigo fazer login ou não tenho permissões de gravação.
Erro de login
Error: Network error: Software caused connection abort
Error: Could not connect to server
Changing permissions of /var/www/sites to 775 or 777 causes login error.
chown /var/www/sites to uploader:root causes login error.
chwon root:webmaster or root:www-data I have no write permissions
Estou no fim tentando descobrir isso e se alguém puder me indicar a direção certa, eu agradeceria muito.
Obrigado.
fonte
Match
es suportam vários destinos em listas separadas por vírgula, para que pudéssemos simplificar / organizar bastante que, com um único conjunto de substituições para os dois usuários, por cabeçalhoMatch User dev1,dev2