[Última revisión: 21 de febrero de 2020]
Objetivos
- Instalar vsftpd en un Ubuntu Server 18.04.
- Crear para vsftpd un usuario llamado cam (el nombre viene de Comunidad Autónoma de Madrid).
- Los archivos se podrán transferir o bien a cam o bien a cualquiera de sus subdirectorios, que también crearé: getafe y leganes.
- El directorio cam estará en /home. Los directorios getafe y leganes estarán dentro de cam.
Actualización del sistema
leyre@leyreserver:~$ sudo apt update
leyre@leyreserver:~$ sudo apt upgrade
Instalación de Apache
leyre@leyreserver:~$ sudo apt install apache2
Se acepta (S) si nos pregunta.
Instalación de vsftpd
leyre@leyreserver:~$ sudo apt install vsftpd
Se acepta (S) si nos pregunta.
Iniciar y habilitar vsftpd
leyre@leyreserver:~$ sudo systemctl start vsftpd
leyre@leyreserver:~$ sudo systemctl enable vsftpd
Añadir usuario
leyre@leyreserver:~$ sudo adduser cam
[cam=nombre de usuario, se puede poner cualquier otro, el que se quiera]
Enter new UNIX password: ********** [intro]
Retype new UNIX password: ********** [intro]
Full name []: cam [intro]
Room number []: [intro]
Work Phone []: [intro]
Home Phone []: [intro]
Other []: [intro]
–
Si en un momento dado se necesitase eliminar un usuario, eso se hace con este comando:
leyre@leyreserver:~$ sudo userdel cam
–
Se crean los directorios donde queramos que se transfieran los archivos ftp
leyre@leyreserver:~$ cd /home
leyre@leyreserver:/home$ ls
Veo que en /home se ha creado un directorio llamado cam.
leyre@leyreserver:/home$ sudo mkdir cam/getafe
leyre@leyreserver:/home$ sudo mkdir cam/leganes
En /home se había creado el directorio cam y dentro de él se han creado ahora los subdirectorios getafe y leganes.
leyre@leyreserver:/home$ sudo chown nobody:nogroup cam
leyre@leyreserver:/home$ sudo chown nobody:nogroup cam/getafe
leyre@leyreserver:/home$ sudo chown nobody:nogroup cam/leganes
Con estos tres comandos se ha dado el usuario nobody y el grupo nogroup al directorio cam y también a sus dos subdirectorios getafe y leganes.
–
Se podría haber hecho esto con un solo comando:
leyre@leyreserver:/home$ sudo chown -R nobody:nogroup cam
El -R indica que la orden se aplique al directorio cam y también a sus subdirectorios.
–
Se le dan a estas carpetas los permisos necesarios:
leyre@leyreserver:/home$ sudo chmod a-w cam
leyre@leyreserver:/home$ sudo chmod a-w cam/getafe
leyre@leyreserver:/home$ sudo chmod a-w cam/leganes
–
Estos tres comandos se podían haber hecho en uno solo, igual que antes:
leyre@leyreserver:/home$ sudo chmod a-w -R cam
El -R significa que la orden se aplica al directorio cam y también a sus subdirectorios.
–
A continuación se da propiedad a nuestro usuario para que así se puedan cargar los archivos que se van a transmitir:
leyre@leyreserver:/home$ sudo chown cam:www-data cam
leyre@leyreserver:/home$ sudo chown cam:www-data cam/getafe
leyre@leyreserver:/home$ sudo chown cam:www-data cam/leganes
[cam:www-data ->propietario=cam, grupo=www-data=Apache]
–
Igual que antes, se ha dado la orden a los tres directorios por separado. Esto se podría haber hecho con un solo comando:
leyre@leyreserver:/home$ sudo chown cam:www-data -R cam
El -R indica que la orden se dé al directorio cam y también a sus subdirectorios.
–
A continuación se dan permisos de escritura, ejecución y lectura al usuario y al grupo:
leyre@leyreserver:/home$ sudo chmod 775 cam
leyre@leyreserver:/home$ sudo chmod 775 cam/getafe
leyre@leyreserver:/home$ sudo chmod 775 cam/leganes
–
Igual que antes, se ha dado la orden a los tres directorios por separado. Esto se podría haber hecho con un solo comando:
leyre@leyreserver:/home$ sudo chmod 775 -R cam
El -R indica que la orden se dé al directorio cam y también a sus subdirectorios.
–
Creación de copia de seguridad del archivo de configuración
Como se va a tener que editar el archivo de configuración, por si hubiese algún error, se hace una copia de seguridad de éste:
leyre@leyreserver:/home$ sudo cp /etc/vsftpd.conf /etc/vsftpd_copia.conf
Edición del archivo de configuración
Para editar el archivo de configuración, se escribe el comando:
leyre@leyreserver:/home$ sudo nano /etc/vsftpd.conf
Y se añaden las siguientes líneas:
listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
pasv_enable=Yes
pasv_min_port=10000
pasv_max_port=11000
user_sub_token=$USER
local_root=/home/$USER
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
allow_writeable_chroot=YES
Atención: algunas de estas líneas ya están escritas en el archivo pero están escritas como comentario (con una almohadilla delante). Basta con quitar la almohadilla en vez de escribir la línea entera otra vez. En las que no estén en el archivo hay que añadirlas.
Se sale del editor con Ctrl+X y se guarda al salir.
Añadir usuario creado a archivo
leyre@leyreserver:~$ sudo nano /etc/vsftpd.userlist
En el archivo se añade una línea con nuestro nombre de usuario:
cam
Con Ctrl+X se sale del archivo. Hay que guardar al salir.
–
Si se hubiesen creado más usuarios, habría que añadirlos todos, separados por la tecla intro (en diferentes líneas).
–
Reinicio de vsftpd
leyre@leyreserver:~$ sudo systemctl restart vsftpd
Acceder a vsftpd desde un navegador
En un navegador se escribe:
ftp://nuestra_direccion_de_IP
Si no se recuerda la IP se puede escribir, en el Ubuntu Server 18.04, el comando:
leyre@leyreserver:~$ ifconfig
Se pone el nombre de usuario (en este tutorial, cam) y la contraseña que se pusieron en la instalación.