Configuració d’un servei FTP pels treballadors
El primer que hem de fer serà actualitzar els repositoris actuals i instal·lar els paquets del servei FTP, o farem amb la següent comanda.
sudo apt update
sudo apt install vsftpd vagrant@debian:~$ dpkg -s vsftpd | grep Version
Version: 3.0.3-13+b2
Ara una vegada amb els paquets instalats anirem a fer la configuracio de l’archiu de configuracio que esta a la seguent ruta /etc/vsftpd.conf
sudo vim /etc/vsftpd.conf
Arxiu configuracio
Aquest fitxer e on li dius al programa com s’ha de comportar i quines coses poden fer els usuaris quan es connectin.
listen=YES Li diem al servidor que estigui escoltant a les connexions que arriben per la xarxa
anonymous_enable=NO: Això es per seguretat. Diem que no volem intrusos; només gent que tingui un usuari i una contrasenya al sistema hi podrà entrar.
I tant chroot_local_user=YES com allow_writeable_chroot=YES són per temes de seguretat, ja que bloquegés als usuaris que naveguin per on ells volen.
write_enable=YES: Molt important. Si no poses això, només podries “mirar” els fitxers, però no podries penjar res nou ni esborrar res.
local_umask=022: Això serveix per donar uns permisos estàndard als fitxers que puges, perquè després els puguis llegir sense complicacions
# Example config file /etc/vsftpd.conf
listen=YES
#
# Allow anonymous FTP? (Disabled by default).
anonymous_enable=NO
#
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES
#
local_umask=022
#
dirmessage_enable=YES
#
use_localtime=YES
#
xferlog_enable=YES
#
connect_from_port_20=YES
#
chroot_local_user=YES
allow_writeable_chroot=YES
#
secure_chroot_dir=/var/run/vsftpd/empty
#
pam_service_name=vsftpd
#
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
Proves
Ara farem unes proves, per fer aquesta prova crearem un usuari, amb les seves carpetes de treball imaginaries els permisos d’aquestes carpetes.
sudo adduser usuarioftp
sudo mkdir -p /home/usuarioftp/ftp/subidas
sudo chown nobody:nogroup /home/usuarioftp/ftp
sudo chmod a-w /home/usuarioftp/ftp
sudo chown usuarioftp:usuarioftp /home/usuarioftp/ftp/subidas Per contínua intentarem fer una prova contactar amb nosaltres a l’FTP des de l’usuari que acabem de crear (el primer error és perquè no està configurat per escoltar ipv6)
ftp localhost vagrant@debian:~$ ftp localhost
Trying [::1]:21 ...
ftp: Can't connect to `::1:21': Connection refused
Trying 127.0.0.1:21 ...
Connected to localhost.
220 (vsFTPd 3.0.3)
Name (localhost:vagrant): usuarioftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
Ara per validar la visibilitat i el funcionament del servidor des d’una màquina externa, s’ha utilitzat el client gràfic FileZilla des de la meva màquina principal. S’ha establert la connexió directament a la IP del servidor (192.168.100.3) mitjançant el port 21.
Com es pot, el servidor ha acceptat les credencials de l’usuari usuarioftp i ha permès el llistat del directori remot amb èxit (Directory listing of “/ftp/subidas” successful). Aquesta captura confirma que el servei FTP està operatiu, que l’usuari està correctament en funcionament.
Un cop s’ha establert la connexió, s’ha procedit a verificar els permisos d’escriptura del servidor fent la pujada d’un fitxer des de la meva màquina principal. A la captura de pantalla es pot veure com el fitxer Vagrantfile s’ha transferit correctament des de la carpeta local cap al directori remot /ftp/subidas.
Com es pot observar, el servidor ha confirmat la operació amb èxit (File transfer successful). Aquesta segona captura confirma que la configuració de permisos d’escriptura és correcta, que l’usuari té els privilegis necessaris sobre la seva carpeta i que el servidor permet gestionar fitxers de forma externa sense cap problema.
Per completar la prova de funcionament, s’ha verificat la capacitat de descàrrega des del servidor cap a la meva màquina principal. A la captura es veu com el fitxer Vagrantfile s’ha descarregat correctament des del directori remot /ftp/subidas fins a la meva carpeta local.
Com es pot observar tant en el log d’estat com en la notificació de la part superior dreta (Transfers finished), el procés s’ha realitzat amb èxit (File transfer successful). Aquesta darrera captura confirma que el servidor no només permet la pujada de dades, sinó que també gestiona correctament els permisos de lectura i descàrrega, garantint la total operativitat del servei FTP per a l’usuari.