Accedi
Accedi

Come utilizzare il comando Telnet su Linux

Come utilizzare il comando Telnet su Linux
Awais Khan
Redattore tecnico
Sistema: Linux
13.10.2025
Reading time: 6 min

Il comando Telnet è un pratico strumento di comunicazione di rete in Linux. Dall’analisi delle porte remote alla risoluzione dei problemi di connessione, Telnet offre un modo semplice e basato su testo per interagire con un host remoto.

In questa guida passo passo vedremo come installare, configurare e utilizzare Telnet su Linux, insieme alle sue principali opzioni e funzionalità per una comprensione completa.

Che cos’è Telnet?

Telnet (abbreviazione di Telecommunication Network) è un protocollo di rete che consente di connettersi a un altro computer remoto tramite il TCP (Transmission Control Protocol). Permette di collegarsi direttamente a un host remoto su una porta specifica per inviare comandi e leggere le risposte in tempo reale.

Telnet viene principalmente utilizzato per:

  • Testare porte aperte: verificare se un server ha una porta disponibile.
  • Accedere ai servizi: connessione diretta a servizi web, di posta elettronica o altri servizi di rete.
  • Risoluzione dei problemi di rete: individuare problemi di connettività o porte bloccate.

Installazione di Telnet su Linux

Telnet non è preinstallato nella maggior parte delle distribuzioni Linux moderne. Il metodo di installazione varia in base al tipo di sistema.

Per sistemi basati su Ubuntu/Debian

Gli utenti di Ubuntu, Debian o distribuzioni simili possono installare Telnet con il gestore di pacchetti APT:

sudo apt install telnet

Per sistemi basati su Red Hat/CentOS

Su Red Hat, CentOS o Fedora, usa yum o dnf:

sudo yum install telnet

oppure, per versioni più recenti:

sudo dnf install telnet

Sintassi del comando Telnet

La sintassi del comando Telnet è molto semplice:

telnet [hostname/IP] [port]

Parametri:

  • [hostname/IP]: Sspecifica il nome host o l’indirizzo IP del server remoto.

  • [port]: definisce il numero della porta a cui connettersi (predefinito: 23).

Telnet stabilisce una connessione diretta ai servizi su porte specifiche, ad esempio: HTTP (porta 80), SMTP (porta 25) e FTP (porta 21).

Principali opzioni del comando Telnet

Il comando Telnet è altamente configurabile e dispone di diverse opzioni che ne ampliano l’utilità.

Opzione

Descrizione

-4

Forza l’uso di IPv4.

-6

Forza l’uso di IPv6.

-8

Consente la trasmissione di dati a 8 bit.

-E

Disabilita il carattere di escape.

-K

Impedisce l’invio automatico delle credenziali (es. ticket Kerberos).

-L

Attiva la modalità loopback per connettersi allo stesso host.

-X atype

Specifica il tipo di autenticazione (es. KERBEROS_V4).

-a

Inserisce automaticamente il nome utente durante l’accesso.

-d

Attiva la modalità debug e mostra dettagli sulla connessione.

-e char

Imposta un carattere di escape personalizzato.

-l user

Specifica il nome utente per il tentativo di login.

-n tracefile

Registra l’attività della sessione in un file di log.

-b addr

Definisce l’indirizzo o l’interfaccia locale per la connessione.

-r

Crea una connessione Telnet inversa (reverse Telnet).

Utilizzo di Telnet: esempi pratici

Telnet è uno strumento utile per testare e diagnosticare connessioni di rete. Vediamo alcuni esempi pratici.

Testare porte aperte

Per verificare se la porta 80 di un server è aperta:

telnet example.com 80

Image2

Se la porta è aperta, Telnet mostrerà una schermata vuota, segno che la porta è in ascolto. Se la porta è chiusa o bloccata da un firewall, apparirà un messaggio come: Connection refused

Interagire con server SMTP

Telnet può essere utilizzato per debuggare server di posta elettronica, inviando comandi SMTP diretti:

telnet mail.example.com 587

Image5

Una volta stabilita la connessione, puoi digitare comandi come HELO, MAIL FROM e RCPT TO per comunicare con il server.

Image3

Inviare richieste HTTP

Telnet può essere utilizzato per testare manualmente un server web inviando richieste HTTP:

telnet example.com 80

Image4

Dopo la connessione, digita:

GET / HTTP/1.1
Host: example.com

Premi Invio due volte per inviare la richiesta. La risposta del server verrà visualizzata immediatamente.

Image6

Forzare una connessione IPv4

Se il server supporta IPv4 e IPv6, puoi forzare la connessione tramite IPv4:

telnet -4 example.com 80

Image1

Questo garantisce compatibilità con reti che utilizzano solo IPv4.

Verificare un server MySQL

Telnet può essere usato anche per verificare se la porta MySQL (3306) è aperta:

telnet database.example.com 3306

Se la connessione riesce, Telnet mostrerà un messaggio di benvenuto dal server MySQL.

Considerazioni sulla sicurezza

Sebbene utile, Telnet è fondamentalmente insicuro, poiché trasmette tutti i dati — incluse le password — in chiaro.

👉 Quindi:

  • Evita di utilizzare Telnet su reti non sicure. Preferisci sempre una rete privata o protetta.
  • Utilizza alternative sicure come SSH (Secure Shell) per comunicazioni cifrate.
  • Disattiva Telnet sui server se non è necessario.

Casi d’uso avanzati

Telnet può essere utile anche in contesti più specifici:

  • Monitoraggio dei servizi: verifica protocolli come IMAP o POP3 per diagnosticare problemi di posta.
  • Gestione di dispositivi IoT: alcuni dispositivi connessi utilizzano Telnet come interfaccia testuale.
  • Uso didattico: ottimo strumento per studiare protocolli di rete e risposte dei server.

Problemi comuni e soluzioni

Nonostante la sua semplicità, Telnet può incontrare vari problemi.

  • Connection Refused: La porta di destinazione è chiusa o bloccata.

  • Time-Out Errors: Ritardo di rete o problemi di routing.

  • Permission Denied: Permessi utente insufficienti o porta riservata.

Controllare regolarmente le configurazioni del server e del firewall può aiutare a evitare questi errori.

Alternative a Telnet

Poiché Telnet non offre crittografia, rappresenta un rischio per la sicurezza.

Esistono alternative più sicure e con funzionalità equivalenti:

  • SSH (Secure Shell): l’alternativa più diffusa, con comunicazione cifrata e autenticazione sicura.
     → Usa il comando ssh per connetterti in modo sicuro ai server remoti.
  • Netcat (nc): potente strumento per debugging, scansione di porte e test di connessione (TCP/UDP).
  • OpenSSL s_client: utile per testare connessioni SSL/TLS in modo sicuro su porte specifiche.

Conclusione

Telnet è uno strumento semplice ma potente per la diagnosi e il debugging di reti su Linux. Finché si è consapevoli delle sue limitazioni in termini di sicurezza, rimane una risorsa pratica per testare servizi di rete e risolvere problemi di connettività.

Con questa guida, puoi installare, configurare e utilizzare Telnet in modo efficiente e sicuro per gestire i tuoi sistemi Linux a distanza.

Sistema: Linux
13.10.2025
Reading time: 6 min

Simili

Sistema: Linux

Come aprire una porta su Linux

Aprire le porte in Linux è un’operazione fondamentale che consente a determinati servizi o applicazioni di scambiare dati sulla rete. Le porte agiscono come canali di comunicazione, permettendo l’accesso ai servizi autorizzati e bloccando quelli non autorizzati. La loro corretta gestione garantisce sicurezza, buone prestazioni e funzionamento stabile delle applicazioni. Comprendere le porte e la loro funzione Le porte sono gli endpoint logici della comunicazione di rete, attraverso i quali i dispositivi inviano e ricevono informazioni. Esempi comuni: HTTP → Porta 80 HTTPS → Porta 443 SSH → Porta 22 Una porta aperta indica che un servizio è in ascolto e accetta connessioni in ingresso. Una porta chiusa, invece, blocca la comunicazione. Per garantire sicurezza e disponibilità dei servizi, è fondamentale gestire correttamente le porte aperte su Linux. Verificare le porte aperte su Linux Prima di aprire una nuova porta, conviene controllare quali porte sono già attive. Puoi farlo con diversi comandi Linux. Con netstat Per mostrare le porte aperte, esegui: netstat -tuln L’opzione -tuln limita l’output alle porte TCP e UDP, senza risolvere i nomi host. netstat offre una panoramica in tempo reale delle connessioni attive. Nota: se netstat non è installato: sudo apt install net-tools Con ss Il comando ss è una versione più moderna e veloce di netstat: ss -tuln Mostra le porte attualmente in uso e le relative informazioni sui socket. Con nmap Per un’analisi più approfondita: nmap localhost nmap esegue una scansione dell’host specificato (in questo caso localhost) per individuare le porte aperte — utile per capire quali servizi sono esposti alla rete pubblica. Nota: installa nmap con: sudo apt install nmap Aprire porte su Linux Per consentire l’accesso attraverso una porta specifica, occorre modificare le regole del firewall. Linux offre vari strumenti: iptables, ufw e firewalld. Ecco come utilizzarli. Metodo 1: con iptables iptables è un potente strumento a basso livello che offre un controllo preciso sul traffico di rete. Aggiungere una regola per una porta specifica Esempio: aprire la porta 8080 per traffico HTTP: sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT Spiegazione: sudo: esegue il comando come amministratore -A INPUT: aggiunge la regola alla catena di input (traffico in ingresso) -p tcp: si applica al protocollo TCP --dport 8080: specifica la porta 8080 -j ACCEPT: accetta il traffico corrispondente alla regola Queste modifiche non sono permanenti: dopo il riavvio del sistema, le regole vengono cancellate. Salvare la configurazione Per rendere le regole permanenti: sudo apt install iptables iptables-persistent sudo netfilter-persistent save Le regole vengono così memorizzate e ricaricate automaticamente a ogni riavvio. Ricaricare le modifiche sudo netfilter-persistent reload Metodo 2: con ufw (Uncomplicated Firewall) ufw è un’interfaccia semplificata per iptables che permette di gestire facilmente le regole del firewall. Abilitare ufw sudo ufw enable Se non è installato: sudo apt install ufw Aprire una porta specifica Esempio: consentire connessioni SSH sulla porta 22: sudo ufw allow 22/tcp Questo comando autorizza il traffico TCP in ingresso sulla porta 22. Verificare lo stato del firewall sudo ufw status Mostra tutte le regole attive e le porte aperte. Metodo 3: con firewalld firewalld è un demone firewall dinamico che semplifica la gestione delle regole. Aggiungere una regola permanente Esempio: aprire la porta 443 (HTTPS): sudo firewall-cmd --permanent --add-port=443/tcp Installazione e avvio di firewalld: sudo apt install firewalld sudo systemctl enable firewalld sudo systemctl start firewalld Ricaricare le regole sudo firewall-cmd --reload Verificare che la porta sia aperta sudo firewall-cmd --list-all Visualizza tutte le zone e le regole attive, incluse le porte aperte. Testare la porta aperta Dopo aver aperto una porta, assicurati che sia effettivamente accessibile. Con telnet telnet localhost port_number Se la connessione va a buon fine, la porta è aperta e operativa. Con nmap nmap -p port_number localhost Scansiona il port specificato per verificarne la disponibilità. Con curl curl localhost:port_number Una risposta positiva indica che il servizio è attivo sulla porta aperta. Risoluzione dei problemi comuni Se l’apertura di una porta non funziona: Controlla le regole del firewall iptables -L ufw status Verifica lo stato del servizio systemctl status <nome_servizio> Aprire porte in base al protocollo A seconda del servizio, può essere richiesto TCP o UDP. Porta TCP Esempio: consentire il traffico MySQL sulla porta 3306: sudo ufw allow 3306/tcp Porta UDP Esempio: aprire la porta 161 per SNMP: sudo ufw allow 161/udp Gestire l’accessibilità delle porte Limitare l’accesso a un indirizzo IP specifico sudo ufw allow from 192.168.1.100 to any port 22 Permette l’accesso SSH solo da quell’indirizzo IP, migliorando la sicurezza. Chiudere una porta sudo ufw deny 80/tcpBlocca il traffico in ingresso sulla porta 80 (HTTP). Conclusione Verificare e aprire le porte in Linux è essenziale per garantire il corretto funzionamento della rete e la sicurezza dei servizi. Con strumenti come iptables, ufw e firewalld puoi controllare il traffico in modo preciso e sicuro. Effettua sempre test con nmap, curl o telnet per assicurarti che le configurazioni siano corrette. Una buona gestione delle porte è la base per server affidabili, connessioni sicure e prestazioni ottimali.
29 October 2025 · 5 min to read
Sistema: Linux

Scorciatoie da tastiera Linux: le migliori combinazioni per gli utenti

Le scorciatoie da tastiera in Linux sono strumenti estremamente utili che permettono di lavorare in modo più efficiente. Invece di usare il mouse e navigare nei menu, puoi spesso premere solo un paio di tasti per ottenere lo stesso risultato in meno tempo. I sistemi operativi Linux supportano un’ampia gamma di scorciatoie, o hotkey. È importante notare che ogni distribuzione può avere combinazioni specifiche che non funzionano altrove. Tuttavia, gli utenti possono aggiungere nuove combinazioni o modificare quelle esistenti nelle impostazioni di sistema. In questo articolo vedremo le combinazioni universali, valide per la maggior parte degli ambienti desktop. La maggior parte delle scorciatoie descritte riguarda l’uso del terminale. Scorciatoie di base di Linux Cominciamo con le scorciatoie generali, utili per svolgere attività ripetitive più rapidamente. Molte di esse utilizzano il tasto Super, che corrisponde al tasto Windows nei sistemi Windows o al tasto Cmd in macOS. Ad esempio, la scorciatoia Super + Spazio per cambiare layout di tastiera in Linux è simile a Windows + Spazio o Cmd + Spazio. Combinazioni principali: Alt + Tab o Super + Tab – Passa tra le finestre aperte (come su Windows). Super + Spazio – Cambia layout di tastiera. Super + A – Apre il menu delle applicazioni (solitamente in basso a sinistra). F2 – Rinomina un file selezionato. Clicca sul file, poi premi F2. Ctrl + Alt + T – Apre il terminale, una delle scorciatoie più importanti di Linux. Alt + F2 – Apre una finestra di comando al centro dello schermo per eseguire un programma. Super + D – Minimizza tutte le finestre e mostra il desktop. Ctrl + Alt + Canc – Apre un prompt con le opzioni “Annulla” e “Disconnetti”.Se non viene effettuata alcuna scelta, il sistema esegue automaticamente il logout dopo 60 secondi. Queste combinazioni aiutano a lavorare più velocemente e in modo più ordinato. Passiamo ora ai comandi rapidi del terminale, fondamentali per gli utenti Linux. Scorciatoie del terminale Linux Il terminale è lo strumento principale per interagire con la shell Linux. Le scorciatoie seguenti permettono di lavorare in modo più rapido ed efficiente. Gestione di finestre e schede del terminale Queste scorciatoie servono per aprire, passare o chiudere rapidamente schede e finestre del terminale: Ctrl + Shift + Q – Chiude completamente la finestra del terminale. Ctrl + Shift + T – Apre una nuova scheda. Ctrl + Shift + W – Chiude la scheda corrente (o la finestra, se è l’unica aperta). Ctrl + Shift + D – Stacca la scheda corrente e la apre in una nuova finestra. Ctrl + PgUp / PgDown – Passa tra le schede (precedente/successiva). Movimento del cursore in una riga Gli utenti Linux lavorano quasi sempre con la tastiera. Queste combinazioni evitano l’uso del mouse e permettono di spostarsi nel testo più velocemente: Ctrl + A (o Home) – Sposta il cursore all’inizio della riga. Ctrl + E (o End) – Sposta il cursore alla fine della riga. Ctrl + X, X – Passa rapidamente all’inizio della riga e poi torna alla posizione originale. Ctrl + → / ← o Alt + F / B – Muove il cursore di una parola avanti o indietro. Inserimento e modifica dei comandi Oltre a muovere il cursore, queste scorciatoie semplificano la scrittura e la modifica dei comandi: Tab – Una delle scorciatoie più utili: completa automaticamente comandi e percorsi.Premila una volta per completare, due volte per visualizzare i suggerimenti. Ctrl + T – Scambia le ultime due lettere prima del cursore. Alt + T – Scambia le ultime due parole prima del cursore. Alt + Backspace – Cancella la parola precedente. Alt + D – Cancella tutti i caratteri dopo il cursore fino al successivo spazio. Alt + U / Alt + L – Converte in maiuscolo o minuscolo il testo a destra del cursore. Operazioni con gli appunti Queste combinazioni permettono di tagliare, copiare e incollare testo nel terminale: Ctrl + W – Cancella la parola precedente. Ctrl + U – Cancella tutto dal cursore all’inizio della riga. Ctrl + K – Cancella tutto dal cursore alla fine della riga. Ctrl + Y – Incolla l’ultimo testo cancellato. Navigazione nella cronologia dei comandi I seguenti tasti aiutano a richiamare rapidamente comandi precedentemente usati. Per visualizzare l’elenco completo dei comandi eseguiti: history Altri comandi utili: Ctrl + R – Cerca un comando usato in precedenza.Premi Invio per eseguirlo o Esc per annullare. Ctrl + O – Esegue il comando trovato. Alt + < – Carica il primo comando della cronologia. Gestione dello schermo e dei processi Queste scorciatoie gestiscono la quantità di informazioni visualizzate e il controllo dei processi attivi: Ctrl + C – Interrompe immediatamente il processo attivo (segnale SIGINT). Ctrl + D – Chiude il terminale (equivalente al comando exit). Ctrl + Z – Sospende il processo corrente e lo invia in background.Usa fg per riportarlo in primo piano o jobs per elencare i processi in background. Ctrl + L – Pulisce la finestra del terminale (equivalente a clear). Ctrl + S / Ctrl + Q – Ctrl + S sospende l’output, Ctrl + Q lo riprende.Utile per fermare temporaneamente la visualizzazione e analizzare un testo. Aggiungere o modificare scorciatoie In alcune distribuzioni, certe combinazioni potrebbero non funzionare o mancare. Ogni ambiente Linux ha una lista predefinita di scorciatoie, ma è possibile personalizzarle facilmente. Procedura: Premi Super + A per aprire il menu delle applicazioni. Cerca e apri Impostazioni. Vai su Dispositivi → Tastiera. Sulla destra vedrai l’elenco delle scorciatoie predefinite. Clicca su un comando per modificarlo o assegnare una nuova combinazione. Per aggiungere una scorciatoia personalizzata, clicca sul pulsante “+” in basso. Inserisci il nome, il comando da eseguire e la combinazione di tasti desiderata. Conclusione Abbiamo esaminato le principali scorciatoie di Linux che semplificano e velocizzano il flusso di lavoro quotidiano. Naturalmente, questa non è una lista completa: ogni distribuzione offre combinazioni aggiuntive per diverse funzionalità. Conoscere e usare queste scorciatoie renderà l’esperienza Linux più fluida, produttiva e piacevole, soprattutto nel terminale.
28 October 2025 · 6 min to read
Sistema: Linux

Che cos’è un daemon in informatica?

Il termine daemon deriva dalla mitologia greca antica, dove indicava un essere immateriale che influenzava il mondo umano. In informatica, soprattutto nei sistemi operativi di tipo UNIX, un daemon è un processo in background che si esegue senza interazione diretta con l’utente. Non dipende da un terminale o da un’interfaccia grafica e in genere viene avviato all’avvio del sistema o in determinate condizioni. Che cos’è un daemon La funzione principale di un daemon è fornire servizi specifici ad altri processi o utenti. Ad esempio, un daemon può restare in ascolto su porte di rete in attesa di connessioni, monitorare eventi di sistema e rispondere quando vengono soddisfatte determinate condizioni, gestire attività pianificate (come cron), inviare e-mail (sendmail) e molto altro. In Windows, l’equivalente più vicino a un daemon è un servizio (Service). La differenza principale risiede nel modo in cui vengono avviati, registrati, gestiti e configurati all’interno del sistema operativo. Tuttavia, lo scopo è lo stesso: garantire il funzionamento continuo in background di determinate funzioni o servizi. Caratteristiche principali di un daemon Esecuzione in background: gli utenti di solito non vedono un’interfaccia del daemon; non scrive sull’output standard (o lo reindirizza ai log) e non richiede input da tastiera. Autonomo: un daemon viene avviato all’avvio del sistema, quando viene richiamato da un sistema di init (come systemd), oppure manualmente dall’utente (tramite script, cron, ecc.). Lunga durata: idealmente un daemon viene eseguito indefinitamente, a meno che non si verifichi un errore critico o riceva un segnale di arresto esplicito. Isolato: di solito viene eseguito sotto un account utente o gruppo separato per ridurre i privilegi, rendendo i servizi più sicuri e facili da gestire. Logging: invece di utilizzare input/output standard, i daemon registrano le informazioni in file di log o nel logger di sistema (journald, syslog, ecc.), utile per il debug e la diagnostica. Daemon in Linux Storicamente, quasi tutte le attività di sistema in background in Linux sono implementate come daemon. Il sistema operativo ne include decine, ciascuno con una funzione specifica. Ecco alcuni esempi: sshd (Secure Shell Daemon): resta in ascolto sulla porta 22 (per impostazione predefinita) e consente agli utenti remoti di connettersi tramite SSH crittografato. Senza sshd, l’accesso remoto al terminale sarebbe quasi impossibile. cron: un daemon di pianificazione dei lavori. Controlla le voci del crontab ed esegue script o comandi secondo una pianificazione, come la pulizia dei log, l’invio di report o i controlli di sistema. syslogd / rsyslog / journald: daemon di registrazione del sistema che raccolgono messaggi dal kernel, dalle utility, da altri daemon e applicazioni, e li salvano nei file di log o nel journal. NetworkManager o Wicd: daemon che gestiscono le impostazioni di rete — automatizzano connessioni a reti cablate/wireless, switch, configurazioni VPN e altro. Questi daemon vengono avviati all’avvio del sistema e registrati nel gestore dei servizi (ad esempio systemd). Restano in esecuzione fino allo spegnimento o riavvio del sistema. Gli utenti interagiscono con essi indirettamente — tramite file di configurazione, comandi da terminale (service, systemctl) o richieste di rete (se il daemon fornisce un’interfaccia HTTP/S, SSH o simile). Come creare e gestire daemon Per implementare un daemon, segui questi passaggi: Creazione del processo (fork): il processo padre chiama fork() e continua l’esecuzione del codice del daemon nel processo figlio. Scollegamento dal terminale di controllo (setsid): per evitare interferenze dell’utente (ad esempio la chiusura del terminale), il daemon chiama setsid() per avviare una nuova sessione e diventarne il leader. Chiusura dei descrittori di input/output standard: poiché il daemon non deve scrivere sullo schermo o attendere input, stdin, stdout e stderr vengono chiusi o reindirizzati ai file di log. Gestione dei segnali e logging: per supportare uno spegnimento pulito o il ricaricamento della configurazione, il daemon deve gestire i segnali (SIGTERM, SIGHUP, ecc.). La registrazione viene generalmente effettuata tramite syslog o file. Ciclo principale: dopo l’inizializzazione, il daemon entra nel ciclo principale: attende eventi, li gestisce e ripete finché non viene interrotto. Vediamo come creare un daemon su Ubuntu 22.04 utilizzando un server cloud Hostman. 1. Scrivere il daemon in C Crea un file chiamato mydaemon.c e inserisci il seguente codice: #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <syslog.h> int main() { // Aprire syslog     openlog("mydaemon", LOG_PID, LOG_DAEMON); syslog(LOG_NOTICE, "Daemon started"); // Ciclo infinito principale     while (1) { // Attività in background: monitoraggio, gestione code, ecc. syslog(LOG_NOTICE, "Performing task..."); sleep(60); } // Se il ciclo termina     syslog(LOG_NOTICE, "Daemon stopped"); closelog(); return 0; } 2. Compilare il programma Aggiorna prima i pacchetti: sudo apt update && sudo apt upgrade Installa il compilatore GCC se non è già installato: sudo apt install gcc Compila il daemon: gcc mydaemon.c -o mydaemon 3. Spostare l’eseguibile Sposta il file binario in /usr/local/bin/, una posizione standard per le utility personalizzate: mv mydaemon /usr/local/bin/mydaemon 4. Creare un servizio systemd Crea un file di unità chiamato mydaemon.service: sudo nano /etc/systemd/system/mydaemon.service Inserisci il seguente contenuto: [Unit] Description=My Daemon After=network.target [Service] Type=simple ExecStart=/usr/local/bin/mydaemon Restart=on-failure [Install] WantedBy=multi-user.target Spiegazione dei campi: Description: descrizione mostrata in systemctl status. After=network.target: assicura che il daemon si avvii dopo che la rete è attiva. Type=simple: il daemon non crea sottoprocessi, si esegue come un unico processo. ExecStart: percorso all’eseguibile del daemon. Restart=on-failure: riavvio automatico in caso di errore del daemon. WantedBy=multi-user.target: fa partire il servizio nell’ambiente multiutente standard. 5. Avviare e monitorare il daemon sudo systemctl daemon-reload # Ricaricare la configurazione di systemd sudo systemctl start mydaemon # Avviare il daemon sudo systemctl status mydaemon # Verificare lo stato Se tutto funziona, lo stato mostrerà active. Per visualizzare i log: journalctl -u mydaemon.service -e Esempi di utilizzo dei daemon Server web Il loro compito è restare in ascolto su una porta di rete (di solito 80 o 443), accettare richieste HTTP/HTTPS, generare una risposta (una pagina HTML, dati JSON, ecc.) e restituire il risultato al client. Nella maggior parte dei casi, un server web si avvia con il sistema e rimane in esecuzione fino allo spegnimento o a un comando di stop (es. systemctl stop nginx). Daemon di database MySQL/MariaDB, PostgreSQL, MongoDB — tutti questi sono daemon. Si avviano con il sistema e continuano a funzionare in background, accettando richieste da applicazioni client o servizi web. Questi daemon registrano l’attività, supportano la configurazione tramite file e sono gestiti con strumenti dedicati (o systemd). Pianificatori di attività (cron, atd) Il daemon cron controlla la tabella di pianificazione (crontab) ed esegue programmi negli orari o intervalli specificati dall’utente. Ciò consente di automatizzare backup, aggiornamenti di sistema, controlli di integrità e molte altre attività di routine. atd è un daemon simile, ma esegue le attività solo una volta in un momento specifico (a differenza di cron, che le esegue periodicamente). Servizi di accesso e controllo (sshd, xrdp) sshd (Secure Shell Daemon) fornisce accesso remoto tramite il protocollo SSH. xrdp abilita connessioni desktop remote utilizzando il protocollo RDP. Agisce come daemon che ascolta le connessioni di rete su una porta specifica. Daemon del sistema di init (systemd, init, Upstart) Nei sistemi moderni, il ruolo del “daemon principale” è svolto da systemd (che sostituisce il vecchio sistema SysV init). systemd è il primo processo che parte dopo il kernel ed è responsabile dell’avvio e della gestione di tutti gli altri servizi e processi. Li avvia in parallelo e gestisce le loro dipendenze. In breve, systemd è esso stesso un daemon che “orchestra” tutti gli altri del sistema. Vantaggi e svantaggi dei daemon Vantaggi: Automazione: i daemon permettono di automatizzare il comportamento del sistema — dalla risposta alle richieste di rete alla pianificazione di attività — senza intervento dell’utente. Isolamento: l’esecuzione sotto account o gruppi separati e il distacco dal terminale aumentano la sicurezza, limitando i danni potenziali in caso di compromissione. Funzionamento continuo: un daemon può continuare a fornire servizi (come un server web) senza interruzioni anche se l’utente si disconnette o chiude la console. Gestibilità: Linux fornisce strumenti di sistema (es. systemd, script di init) per gestire centralmente tutti i daemon: avvio, arresto, riavvio e registrazione. Svantaggi: Complessità di debug: poiché i daemon funzionano in background e non mostrano output su console, il debug richiede log dettagliati e configurazioni più complesse (flag di debug, tracciamento, ecc.). Rischi di sicurezza: se un daemon viene eseguito con privilegi elevati (ad esempio come root), una vulnerabilità può compromettere l’intero sistema. È consigliabile eseguirli con privilegi limitati. Gestione delle dipendenze: alcuni daemon possono fallire se, ad esempio, necessitano dell’accesso alla rete prima che questa sia disponibile. I moderni sistemi di init risolvono questo problema, ma con i vecchi script SysV init era comune. Maggior consumo di risorse: qualsiasi processo in esecuzione continua consuma risorse di sistema (memoria, CPU). Un numero eccessivo di daemon può ridurre le prestazioni, soprattutto su sistemi con risorse limitate. Conclusione I daemon sono una parte fondamentale dell’architettura dei sistemi operativi Linux, offrendo ampie capacità di automazione e servizi in background. Consentono agli amministratori di configurare in modo flessibile operazioni di rete, attività pianificate, logging, sistemi di sicurezza e molti altri componenti. Scrivere un proprio daemon richiede la comprensione di processi, segnali, chiamate di sistema e particolare attenzione alla registrazione e alla sicurezza. I moderni sistemi di init (in particolare systemd) hanno semplificato la gestione dei daemon e la logica dei servizi, rendendo la creazione di servizi personalizzati più strutturata e flessibile. Tuttavia, rimane un campo complesso che richiede progettazione accurata, debug e manutenzione costante. Se cerchi una soluzione affidabile, performante ed economica per i tuoi flussi di lavoro, Hostman offre opzioni di Hosting VPS Linux, tra cui Debian VPS, Ubuntu VPS e VPS CentOS.
23 October 2025 · 9 min to read

Hai domande,
commenti o dubbi?

I nostri professionisti sono disponibili per assisterti in ogni momento,
che tu abbia bisogno di aiuto o non sappia da dove iniziare.
Inviaci un'email
Hostman's Support