
He configurado SFTP/SSH para que un usuario solo pueda put
acceder a su directorio de inicio; sin embargo, aún puede acceder cd
a todos los demás directorios y get
archivos que ve.
¿Cómo puedo prevenir esto?
EDITAR:
Mi sshd_config: http://pastebin.com/jk7TCRZr
Logré bloquear /var/www, pero aún pueden ver las carpetas de otros usuarios.
EDITAR 2:
Errm..... Me acabo de dar cuenta de lo que hice mal... Ja, ja
Por otra parte, ¿cómo podría hacer que la carpeta public_html sea la carpeta desde la que Apache intenta cargar datos?
Respuesta1
Debes configurar sftp chroot.
Respuesta2
O puedes hacerlo con herramientas comohttp://olivier.sessink.nl/jailkit/
Respuesta3
Fijado.
Hice lo siguiente (probablemente no debería haberlo hecho, pero funcionó para mí. Eso es todo lo que quiero):
Match user myUser
ChrootDirectory /var/www/myUser
ForceCommand internal-sftp
AllowTcpForwarding no
GatewayPorts no
X11Forwarding no
En /var/www/myUser, creé el directorio public_html. Después de eso, habilité el mod userdir de Apache, así:
sudo a2enmod userdir
sudo service apache2 restart
Y todo simplemente... ¡Funciona!
(Por supuesto, esto tiene la desventaja obvia de que ahora tenemos que anteponer los nombres de usuario con una tilde)