En este post veremos algunos comandos que considero útiles a la hora de montar un servidor FTP. Algunos comandos sirven para dar un poco de seguridad a nuestro servidor, otros para dar un poco de privacidad entre usuarios, etc.
Creación de un nuevo usuario
Primero, como ya vimos en el post de instalación del servidor FTP, recordar que es importante saber crear un nuevo usuario:
root@ubuntu14:/home/aariza# chown prueba:prueba /home/prueba
Como alternativa os diré que podéis usar tambien el comando «adduser» (dejando en blanco y aceptando lo que os pregunta):
Y ahora le asignamos un password al usuario “prueba”:
Finalmente, nos pedirá el password dos veces para confirmar.
Después, para configurar los diferentes parámetros del servidor “vsftpd” tendremos que editar el fichero “vsftpd.conf”:
Restricción de usuarios a su /home
Si queremos que cada usuario tenga acceso a su propio directorio y no pueda ver el del resto de usuarios buscamos dentro del archivo “vsftpd.conf” el parámetro “chroot_local_user” y le asignamos la variable “YES”. Como veis y yo uso editor “vim” para modificar archivos por lo tanto presionamos de teclado “/chroot_local_user” para localizar la variable.
Si la vemos comentada por el símbolo “#” presionamos de teclaro “a” para insertar y eliminamos la “#”:

Para guardar, presionamos la tecla “ESC” y “:x” de teclado. Volveremos al directorio.
Ahora nos queda reiniciar el servidor FTP para guardar los cambios mediante el comando:
Para ver si funciona haremos una prueba rápida. Vamos a conectarnos mediante Filezilla a nuestro servidor FTP con la variable que hemos modificado a “NO” y a “YES” para ver la diferencia.
Con la variable: Chroot_local_user = YES
Si la variable la mantenemos con valor “YES” al logarnos en nuestro servidor con el usuario “prueba” también vemos el usuario “aariza” y si hubiera más usuarios creados, los veríamos todos:

Con la variable: Chroot_local_user = NO
Ahora en cambio, al logarnos de nuevo con el usuario “prueba” solo vemos nuestro directorio.

De esta manera mantenemos la privacidad entre el resto de los usuarios.
Decidir qué usuarios pueden ver otros usuarios y cuales no
Además, mediante el comando:
Podemos controlar qué usuarios tienen dichos permisos. Para ello además hemos de habilitar el comando:
De manera que si editamos la lista:
Añadiremos aquí a aquellos usuarios que NO queramos “enjaular” en su propio directorio de /home. Es decir, aquellos usuarios que queramos que vean a los demás.
Arrancar Servidor FTP automáticamente al arrancar la máquina donde está instalado
Dentro del archivo “vsftpd.conf” buscamos:
Le quitamos la almohadilla y lo cambiamos a:
Es posible que ya venga activado, recordad que el símbolo “#” sirve para obviar la línea que viene a continuación del símbolo.
De esta manera si reiniciamos o arrancamos la máquina donde se encuentra el servidor FTP automáticamente se iniciará si necesidad de hacer nosotros nada.
Permitir a los usuarios locales creados poder conectarse al servidor FTP
Como ya hemos visto, podemos crear usuarios en nuestra máquina Ubuntu mediante el comando:
Esto, simplemente nos crea un usuario local para acceder a la máquina física (Ubuntu), lo que no hemos comentado hasta ahora es que estos usuarios pueden NO tener permisos para usar el servidor FTP. Y ello se controla también a través del archivo “vsftpd.conf” mediante la sentencia:
Es cierto que, por defecto viene activada, por lo que no debemos tocarla si queremos que esos usuarios creados tengan acceso al servidor FTP.
Dar derechos de escritura a los usuarios
Este comando normalmente viene comentado:
Y hay que descomentarlo para activarlo:
Ello permite a los usuarios locales no solo descargarse o subir ficheros, sino que también les permite obtener permisos de escritura en el servidor para poder modificar lo que quieran.
Otorgar permisos “chmod” automáticamente a los ficheros subidos
Esta opción también viene comentada por defecto:
Si queremos usarla debemos descomentarla:
Ello otorgará permisos 755 (rwxr-xr-x) a los archivos subidos de forma automática. Es decir, el propietario del fichero puede leer, escribir y ejecutar el archivo. Todos los demás usuarios solo pueden leer y ejecutar el archivo.
Por defecto, si no usamos esta opción los archivos subidos obtienen permisos 664 (rw-rw-r- -). Es decir, el propietario del fichero puede leer, escribir y ejecutar el archivo. Ningún usuario más tiene ningún derecho.
Dentro de un directorio podemos ver qué permisos tiene un archivo ejecutando:

Habilitar usuario “Anonymous”
Esto sirve para habilitar el acceso a usuarios que no tengan cuenta creada en local, es decir un usuario creado como hemos visto hasta ahora.
Esto puede resultar peligroso así que recomiendo primero deshabilitar la opción:
Cambiándola a:
Luego habilitamos el usuario “Anonymous”:
Cambiándolo a:
Y nos dejará conectarnos con usuario ‘Anonymous’ y sin password. Para ello en Filezilla he configurado lo siguiente dentro de Archivo -> Gestor de sitios…

De esta manera al presionar al botón “Conectar” veremos la conexión correctamente en la consola superior de Filezilla:

Ya que si volviésemos a deshabilitar la opción “anonymous_enable=NO” no nos dejará de ninguna manera, y en la consola superior veríamos:

Reiniciar el servicio FTP
Como ya he dicho al principio de este post, cuando modifiquéis el fichero “vsftpd.conf” tenéis que reiniciar el servicio de FTP. Os recuerdo de nuevo el comando:
Para que surjan los cambios.
Y hasta aquí los comandos básicos de configuración de vsftpd. Iré ampliando la lista de comandos útiles a la hora de configurar el servidor a medida que me preguntéis.