Creé un usuario e hice su directorio personal /var/www/mysite/ftpdir
También agregué una entrada de usuario Match para este usuario sshd_config
con un ChrootDirectory que apunta a/var/www/mysite
He reiniciado ssh
para recoger esto.
Cuando inicio sesión con sftp, el usuario todavía va al directorio anterior del usuario, es decir /home/user
¿Qué me estoy perdiendo?
/home/user
al objetivo?Respuestas:
Este es el proceso:
Agregue el usuario al grupo:
sudo usermod -aG www blub
como en ¿ Cuál es la forma más sencilla de editar y agregar archivos a "/ var / www"?o simplemente usar
sudo adduser <username> www-data
sudo apt-get install vsftpd
Configure vsftpd para acceso remoto:
sudo nano /etc/vsftpd.conf
y dentro del conjunto de archivosy asegúrese de que esto esté comentado:
según la documentación .
sudo service vsftpd restart
Configure el directorio de inicio del usuario en el directorio web (no en
/home
):Configurar ssh chroot
agregue lo siguiente al final:
y asegúrese de que más arriba en el archivo esté comentado (es decir, antes del que acaba de agregar)
Reiniciar ssh
Cambia los permisos para apache:
Como en los documentos aquí .
Asegúrese de que su directorio tenga acceso a www-data
fuente
chown root:root /var/www/site
solo tienes que volver alsudo chown -R www-data:www-data /var/www/site
Paso 10? ¿Es esto deliberado?Si recibe un error de conexión rechazada al final, asegúrese de que "Subsistema sftp internal-sftp" esté colocado después de "UsePAM yes" . Si no, actualice y reinicie ssh y funcionó.
fuente
Tengo un método simple y eso me funcionó para apache.
Eso es todo en caso de que aún se enfrente al uso de problemas de permisos
chmod
ychown
para abordarlos de acuerdo con sus necesidades.fuente