Linux App

vsFTPd GUI 🐧⚙️

Editor grafico per configurare vsFTPd su Linux senza modificare manualmente il file vsftpd.conf

vsFTPd GUI è un editor grafico per Linux che semplifica la configurazione di vsFTPd (Very Secure FTP Daemon) attraverso un'interfaccia con help in italiano.

vsFTPd è un server FTP open source, leggero e progettato per sistemi Unix-like. La sua architettura consente di gestire anche un numero elevato di connessioni simultanee, rendendolo utilizzabile non solo su piccoli server, ma anche in infrastrutture con molti client.

Naturalmente il numero di accessi che un sistema può sostenere non dipende esclusivamente dal software FTP: CPU, RAM, dischi, banda disponibile, cablaggio e apparati di rete devono essere dimensionati in funzione del carico. Gestire pochi client o centinaia di macchine sono scenari infrastrutturali molto diversi.

Perché vsFTPd

Uno dei motivi alla base del progetto "Cruscotto Maglieria" è proprio la possibilità di utilizzare una soluzione open source e scalabile senza dover ricorrere necessariamente a software FTP proprietario per infrastrutture con numerosi client.

vsFTPd incorpora inoltre meccanismi e limiti progettati per contenere il rischio di sovraccarico e attacchi di tipo DoS (Denial of Service).

In condizioni adeguate, la documentazione di questo servizio/demone riporta la possibilità di gestire oltre 500/1000 utenti simultanei in download continuo, con un utilizzo della CPU indicato intorno al 7% su hardware relativamente limitato.

Questi valori non rappresentano una capacità garantita per qualsiasi installazione: il risultato effettivo dipende dalla configurazione del server, dal tipo di trasferimenti e soprattutto dall'infrastruttura che deve sostenere il traffico.

Un'interfaccia grafica per vsftpd.conf

La prima parte del mio progetto, prevedeva di costruire un interfaccia grafica per vsFTPd, la GUI creata interviene sul file di configurazione /etc/vsftpd.conf sostituendo, dove necessario, la modifica manuale delle direttive con una interfaccia grafica.

L'applicazione è pensata per essere utilizzata su distribuzioni Linux con Python 3 e deve essere avviata con privilegi root, necessari per operare sul file di configurazione di sistema.

Configurazione selettiva

L'aspetto caratteristico del progetto è il modo in cui viene gestito il file di configurazione.

vsFTPd GUI non riscrive automaticamente tutto il file. Ogni direttiva viene gestita individualmente attraverso un flag che permette di stabilire se deve essere presente nella configurazione.

All'avvio il programma:

  • legge il contenuto di vsftpd.conf;
  • individua le direttive presenti;
  • attiva il relativo flag nell'interfaccia;
  • mostra il valore realmente presente nel file, anche quando è NO.

Se una direttiva è presente nel file, quindi, il relativo flag risulta attivo indipendentemente dal valore assegnato.

Solo le direttive selezionate

Al momento del salvataggio vengono scritte nel file soltanto le direttive il cui flag è attivo.

Questo approccio permette di intervenire sulla configurazione in modo selettivo, senza trasformare l'applicazione in un editor che ricostruisce integralmente vsftpd.conf.

Dopo il salvataggio è necessario riavviare o ricaricare il servizio vsFTPd affinché le modifiche vengano applicate.

Caratteristiche

CaratteristicaFunzione
🖥️ Interfaccia graficaGestione di vsftpd.conf senza modificarlo manualmente
🎯 Configurazione selettivaVengono mantenute le sole direttive abilitate
🔎 Lettura del file esistenteRileva direttive e valori direttamente da vsftpd.conf
🇮🇹 Help in italianoSpiega le direttive disponibili nell'interfaccia
🐧 Linux + Python 3Applicazione sviluppata per sistemi Linux
🔐 Privilegi rootNecessari per modificare il file di configurazione di sistema
📈 ScalabilitàBasata su vsFTPd, adatto anche a scenari con numerosi accessi

Open source e GPLv3

vsFTPd GUI è un progetto pubblico disponibile su GitHub e distribuito con licenza GPLv3, trovi il link in alto a destra.

Il progetto unisce quindi un server FTP open source adatto anche a scenari di carico significativo con uno strumento grafico dedicato alla configurazione, mantenendo il controllo diretto sul file vsftpd.conf, questo permette di contenere i costi di gestione, perché si può far uso di PC dismessi.

vsFTPd GUI fa parte di un progetto più ampio

vsFTPd GUI è la prima parte di un sistema sviluppato per arrivare al monitoraggio delle macchine da maglieria attraverso una rete Linux e un server FTP.

Il suo ruolo è quello di configurare il server vsFTPd, intervenendo sul file vsftpd.conf attraverso un'interfaccia grafica.

Il sistema è stato poi completato con:

  • vsFTPd Tray Monitor → per controllare lo stato del demone e l'attività di trasferimento;
  • Cruscotto Maglieria → per utilizzare l'infrastruttura FTP nel monitoraggio delle macchine e dei tempi di produzione.

Schema del progetto:

ProgettoRuolo
vsFTPd GUIConfigurazione del server FTP Linux
vsFTPd Tray MonitorControllo dello stato e dell'attività del server
Cruscotto MaglieriaMonitoraggio delle macchine e della produzione