Aprovechando que tengo que realizar en este mismo momento la configuracion de un servidor FTP en uno de los servidores Debían que administro, comparto los pasos con ustedes.
Lo primero que haré sera instalar VSFTPD utilizando apt-get (¿Supremamente sencillo no?) utilizo el siguiente comando:
Luego, procedo a realizar la configuracion, así que edito ya sea con nano o con vim el archivo /etc/vsftpd.conf normalmente utilizo vim así que ejecuto el siguiente comando:
Por defecto encontramos ciertos parámetros configurados, yo cambiare los siguientes:
- anonymous_enable por defecto esta en YES, yo lo pongo en NO, para no permitir que personas sin usuario (Osea, con usuario anónimo) puedan conectarse y hacer login en el servidor, esto es útil aveces, pero no me interesa tenerlo activado.
- Descomento la linea que dice local_enable=YES y verifico que el valor este en YES para permitir a los usuarios locales del servidor hacer login vía ftp usando el mismo usuario y contraseña del servidor linux.
- Descomento la linea write_enable=YES para permitir a los usuarios subir archivos al servidor.
- Descomento la linea chroot_local_user=YES y verifico que el valor este en YES, este parámetro asegura que los usuarios que hacen login vía FTP tengan acceso y puedan ver únicamente lo que hay en la carpeta correspondiente a ese usuario, en este caso, la carpeta home de cada usuario de linux.
Una vez hechos estos cambios hay que reiniciar el servicio vsftpd, yo uso el siguiente comando:
Yo tuve problemas de comunicacion por el puerto por defecto, el 21 (Puede que ustedes no lo tengan), si tienen un problema similar, prueben cambiando de puerto, yo he cambiado al 2222 especificandolo en el archivo de configuracion por medio de la siguiente linea que se debe agregar: listen_port=2222
Ahora, para crear los usuarios ejecuto el siguiente comando, hay que tener en cuenta que por ejemplo, antes de home van dos guiones, lo mismo antes de no-create-home van dos guiones quedando –no-create-home (Hago la aclaración porque no se alcanza a ver bien :D):
/var/www/html: Es la ruta a la que se le va a dar acceso vía ftp al usuario que estamos creando.
juarbo: Es el nombre de usuario, es el mismo usuario con el que se va a conectar vía ftp.
Anotaciones finales:
- Para crear/asignarle una contraseña al usuario, uso el comando passwd
- Un error común es de permisos sobre las carpetas para los usuarios, probar con chmod 777 sobre la carpeta.
- Otro error que puede ocurrir algunas veces cuando no se puede acceder a la carpeta es debido a que el grupo no es dueño de la carpeta a la que se accede, fácilmente solucionable con un chown al grupo ftp sobre la carpeta.
- Desde Windows utilizo la aplicación filezilla para conectarme al servidor FTP.
¿Alguna otra recomendación?
Dwsde hace tiempo queria hacer esto en mi server. Pero por falta de no se que siempre me quedaba a medias y no podia subir por ftp al var www. Mil gracias.