web-dev-qa-db-fra.com

Abandon de la connexion lorsque vous essayez de vous connecter au compte emprisonné chroot via sftp

J'essaie de créer un utilisateur kake_sftp qui peut se connecter au serveur Web situé dans/var/www/html ou similaire. Je sais que chroot a besoin de quelques sous-répertoires supplémentaires pour que les autorisations fonctionnent, donc je suis d'accord avec l'ajout de nouveaux dossiers ou la modification de la disposition des dossiers.

J'ai créé l'utilisateur dans le groupe www-data et avec le répertoire personnel dans/var/www/html

$ cat /etc/passwd | grep kake_sftp
kake_sftp:x:1001:1001::/var/www/html:/bin/bash

$ groups kake_sftp
kake_sftp : kake_sftp www-data

Ensuite, j'ai fait quelques changements dans/etc/ssh/sshd_config. J'ai remplacé "Subsystem sftp/usr/lib/openssh/sftp-server" par "Subsystem sftp internal-sftp" et j'ai ajouté les lignes suivantes à la fin

Match User kake_sftp
ChrootDirectory /var/www
ForceCommand internal-sftp
AllowTcpForwarding no

Les autorisations du dossier www sont définies comme suit.

$ ls -la /var/www
drwxrwxr-x  3 root root     4096 Apr  7 12:17 .
drwxr-xr-x 12 root root     4096 Apr  4 10:17 ..
drwxr-xr-x  2 root www-data 4096 Apr  4 11:34 html

Lorsque j'essaie maintenant de me connecter avec Filezilla défini sur sftp. J'obtiens l'erreur suivante.

Error:  Network error: Software caused connection abort
Error:  Could not connect to server

Lorsque j'essaie de me connecter avec mon utilisateur principal via sftp, cela fonctionne comme un charme. Il n'y a donc pas de problème avec le client.

1
Kake_Fisk

La raison pour laquelle cela n'a pas fonctionné était que le répertoire chrooté avait des autorisations d'écriture. En révoquant toutes les autorisations d'écriture, j'ai réussi à me connecter.

chmod 555 /var/www
0
Kake_Fisk