Seleccionar página

Crear un usuario SFTP enjaulado (chroot) bajo Ubuntu

por | Abr 13, 2013 | GNU / Linux

«Crear un usuario SFTP enjaulado (chroot) bajo Ubuntu» no es un post excesivamente original puesto que es algo que la gente efectúa hasta la saciedad pero por mi mala memoria, reescribo con mi jerga lo que otros ya hicieron.

Esta tarea surge de la necesidad de crear un acceso SFTP a un directorio de imágenes de un Virtual Host.

Un Ubuntu 10.04, tenía que crear un acceso SFTP al usuario neodoo@neodoo.es al directorio /var/www/vhost/www.neodoo.es/www/images para poder subir imágenes a nuestro website.

Creamos el usuario neodoo@neodoo.es apuntando el home al directorio de imágenes

 sudo useradd -d /var/www/vhosts/www.neodoo.es/www neodoo@neodoo.es 

Le asignamos una contraseña:

 sudo passwd neodoo@neodoo.es 

Le asignamos el grupo www-data (por defecto ya existe, se utiliza en los Virtual Hosts de Apache).

 sudo usermod -g www-data neodoo@neodoo.es 

Quitamos la opción de acceso a shell:

 usermod -s /bin/false neodoo@neodoo.es 

Configuramos el fichero del SSH:

 vi /etc/ssh/sshd_config 

Comentamos y agregamos lo siguiente:

 #Subsystem sftp /usr/lib/openssh/sftp-server Subsystem sftp internal-sftp 

Añadimos al final del fichero lo siguiente:

 Match group www-data X11Forwarding no ChrootDirectory %h AllowTcpForwarding no ForceCommand internal-sftp 

Reiniciamos el SSH:

 /etc/init.d/sshd restart 

Hay que tener mucho ojo con los permisos puesto que de lo contrario cuando hagamos un SFTP, el servidor nos cerrará la sesión.

 chown root:root /var chown root:root /var/www chown root:root /var/www/vhost chown neodoo@neodoo.es:www-data -R /var/www/vhost/www.neodoo.es chown root:root /var/www/vhost/www.neodoo.es chown root:root /var/www/vhost/www.neodoo.es/www chown root:root /var/www/vhost/www.neodoo.es/www/images 

En el fichero /var/log/auth.log puede observarse un mensaje de error en caso de no ajustar correctamente los permisos:

 Sep 10 11:45:46 Neodoo sshd[20937]: fatal: bad ownership or modes for chroot directory "/var/www/vhost/www.neodoo.es/www/images" 

Para ello, recordar que toda la ruta /var/www/vhost/www.neodoo.es/www/images debe tener permiso de root y así al entrar con el usuario neodoo@neodoo.es vía SSH, estamos enjaulados en este directorio como si fuera el raíz (/).

Te puede interesar…

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *