I servizi Linux sono applicazioni che vengono eseguite in background del sistema operativo Linux, in genere senza l’intervento dell’utente. Molti servizi Linux sono servizi di avvio e vengono avviati all’avvio del sistema, prima che l’utente acceda. Linux è un programma gratuito e open source, quindi c’è molta varietà e i servizi specifici installati per impostazione predefinita variano a seconda di quale Viene utilizzata la distribuzione Linux. I servizi possono essere abilitati, disabilitati, gestiti e persino modificati dall’utente.
Alcuni servizi Linux si avviano, eseguono una funzione e quindi si chiudono. Un esempio è “kudzu”, che rileva hardware nuovo o modificato. Altri esempi includono “random”, che genera un numero casuale utilizzato per la sicurezza e “keytable”, che imposta le mappature della tastiera e il carattere di sistema.
L’altro tipo di servizio è un demone, che è un servizio che viene sempre eseguito. Molti di questi forniscono vari servizi di rete, inclusi i seguenti: “httpd” fornisce un server Web Apache; “inetd”, il demone del superserver Internet, avvia i servizi di rete TCP/IP (Transmission Control Protocol/Internet Protocol) ed è responsabile di molti altri servizi di rete; “smtp” invia e riceve email; e “nfs” consente l’hosting di un file server di rete. Questi servizi potrebbero avere nomi diversi a seconda della distribuzione Linux; ad esempio, il servizio Apache è chiamato “httpd” su alcune distribuzioni e “apache2” su altre.
Un altro set di applicazioni funziona come servizi daemon, che non sono correlati alla rete e forniscono funzionalità continue. Gli esempi includono “cron”, che viene utilizzato per eseguire attività pianificate; “gpm”, che supporta la funzionalità del mouse; “apmd”, che fornisce una gestione avanzata dell’alimentazione; e “lpd”, lo spooler di stampa.
I servizi vengono eseguiti in base a un livello di esecuzione, che definisce lo stato del sistema, ad esempio accesso per utente singolo, accesso multiutente, arresto e riavvio. Il file /etc/inittab imposta il livello di esecuzione predefinito e punta ai file, normalmente archiviati in /etc/rc.d/; questi script rc.d definiscono quali servizi iniziano quando si entra in un runlevel. Questi script definiscono anche la priorità di avvio e la priorità di arresto per ogni servizio, da 0 a 100, per definire l’ordine in cui i servizi si avviano e si chiudono.
Alcune distribuzioni Linux forniscono un’interfaccia utente grafica (GUI) per configurare i servizi. Se questo non è disponibile su una particolare distribuzione, dovrebbero essere ancora disponibili alcuni strumenti della riga di comando. Lo strumento “chkconfig” può essere utilizzato per elencare servizi, per creare o eliminare servizi o per attivare o disattivare servizi. Lo strumento “ntsysv” fornisce una semplice interfaccia per scegliere quali servizi devono essere avviati automaticamente. Tutti gli strumenti per configurare i servizi Linux sono semplicemente dei front-end per gli script rc.d e gli utenti esperti possono modificare direttamente questi script per gestire i servizi.