1.10. Informazioni specifiche su Red Hat Enterprise Linux
Questa sezione riporata le informazioni relative alla filosofia degli amministratori del sistema, specifiche a Red Hat Enterprise Linux.
1.10.1. Automazione
L'automazione di compiti ripetuti regolarmente con Red Hat Enterprise Linux richiede la conoscenza di diverse tecnologie. Le prime sono rappresentate da quelle tecnologieche controllano il tempo di esecuzione dei comandi o dello script. I comandi cron e at sono i pi� utilizzati in questi ruoli.
Incorporando un tempo di specificazione del sistema, flessibile e potente ma allo stesso tempo facile da capire, cron � in grado di programmare l'esecuzione di comandi e script per intervalli regolari che vanno da qualche minuto a qualche mese. Il comando crontab viene usato per manipolare i file che controllano il demone cron che programma l'esecuzione di ogni compito cron.
Il comando at (ed il comando relativo batch) sono pi� idonei per programmare l'esecuzione di script o comandi che possono essere utilizzati solo una volta. Questi comandi implementano un sottosistema di batch rudimentale che consiste in code multiple con diverse priorit� di programmazione. Queste priorit� sono conosciute come livelli niceness (a causa del nome del comando — nice). Entrambi at e batch sono perfetti per compiti che devono iniziare in un determinato momento ma che non hanno un tempo limite determinato.
Successivamente abbiamo gli scripting language. Essi sono dei "linguaggi di programmazione" che l'amministratore di sistema medio utilizza per automatizzare operazioni manuali. Vi sono diversi linguaggi di programmazione (ed ogni amministratore tende ad avere quello a lui/lei pi� congeniale), ma i seguenti sono quelli pi� usati:
Andando oltre le differenze pi� ovvie tra questi linguaggi, quella pi� importante � il modo in cui questi linguaggi interagiscono con altri programmi utility su di un sistema Red Hat Enterprise Linux. Gli script scritti con la shell bash, tendono ad avere un uso pi� vasto di tanti programmi utility pi� piccoli (per esempio, per eseguire una manipolazione di una stringa di caratteri), mentre gli script perl eseguono questo tipo di operazione usando le caratteristiche create all'interno del linguaggio stesso. Uno script scritto usando python pu� sfruttare pienamente le capacit� orientate sull'oggetto del linguaggio, rendendo gli script pi� complessi, pi� facilmente ampliabili.
Questo significa che, per eseguire un master shell scripting, dovete avere una certa familiarit� con i diversi programmi utility (come ad esempio grep e sed) che fanno parte di Red Hat Enterprise Linux. Conoscere perl (e python), d'altra parte, tende ad essere un processo pi� "autonomo". Tuttavia, molte impostazioni del linguaggio perl, sono basate sulla sintassi di vari programmi utility tradizionali di UNIX, e di conseguenza possono essere familiari agli amministratori di un sistema Red Hat Enterprise Linux con una certa esperienza di shell scripting.
1.10.2. Documentazione e comunicazione
Nell'area di documentazione e comunicazione, non vi � molto di specifico su Red Hat Enterprise Linux. Poich� le suddette aree possono consistere in commenti, file di configurazione basati sul testo, aggiornamento di una pagina web o di un invio di email, un amministratore di sistema che utilizza Red Hat Enterprise Linux, deve avere accesso agli editor di testo, editor HTML, e mail client.
Ecco un piccolo esempio dei diversi editor di testo disponibili con Red Hat Enterprise Linux:
L'editor di testo gedit
L'editor di testo Emacs
L'editor di testo Vim
L'editor di testo gedit rappresenta un'applicazione strettamente grafica (in altre parole, necessita di un ambiente X Window System attivo), mentre vim e Emacs sono di natura basati sul testo.
La scelta del miglior editor di testo ha dato luogo ad un dibattito iniziato da quando esistono i computer, continuando fino ad oggi, e forse si protrarr� per moltissimi altri anni. Pertanto, il miglior approccio � quello di provare ogni editor di testo, e usare quello che ritenete pi� idoneo.
Per gli editor HTML, gli amministratori di sistema possono usare la funzione Composer del web browser di Mozilla. Naturalmente, alcuni amministratori di sistema preferiscono codificare manualmente i loro HTML, trasformando un editor di testo regolare in un tool accettabile.
Red Hat Enterprise Linux include l'email client grafico Evolution, Mozilla (anch'esso grafico), e mutt, il quale � basato sul testo. Poich� con gli editor di testo la scelta di una email client tende ad essere personale; il migliore approccio � quello di provare in prima persona ogni client, e usare quello a voi pi� idoneo.
1.10.3. Sicurezza
Come precedentemente accennato in questo capitolo, la sicurezza non pu� essere considerata come un fattore secondario, e la stessa sotto Red Hat Enterprise Linux risulta essere molto importante. I controlli sull'autenticazione e sull'accesso sono profondamente integrati nel sistema operativo, e sono basati su design maturati dalla lunga esperienza nella community UNIX.
Per l'autenticazione Red Hat Enterprise Linux utilizza PAM — Pluggable Authentication Modules. PAM rende possibile l'affinamento dell'autenticazione dell'utente attraverso la configurazione delle librerie condivise usate da tutte le applicazioni che supportano PAM, senza la necessit� di modificare le applicazioni stesse.
Il controllo dell'accesso con Red Hat Enterprise Linux utilizza i permessi tradizionali stile-UNIX (read, write, execute), rispetto alle classificazioni user, group, e "altri". Come UNIX, Red Hat Enterprise Linux f� uso anche di bit setuid e setgid, per conferire temporaneamente il diritto d'accesso ai processi che eseguono un programma particolare, basato sull'ownership del program file. Naturalmente, tutto ci� rende necessario che tutti i programmi che vengono eseguiti con i privilegi setuid o setgid, devono essere verificati attentamente per assicurare che non esistano alcuni punti deboli.
Red Hat Enterprise Linux include anche il supporto per l'access control lists. Un access control list (ACL) permette un controllo minuzioso sugli utenti o gruppi che possono accedere ad un file o ad una directory. Per esempio, i permessi di un file possono negare l'accesso a tutti eccetto al proprietario del file, ed anche l'ACL del file pu� essere configurato per permettere solo all'utente bob di scrivere, e al gruppo finance di leggere il file.
Un altro aspetto della sicurezza � rappresentato dal fatto di poter mantenere una registrazione dell'attivit� del sistema. Red Hat Enterprise Linux f� un ampio uso del logging, sia ad un livello kernel che ad un livello dell'applicazione. Il logging viene controllato dal demone di logging del sistema syslogd, il quale � in grado di registrare in modo locale le informazioni del sistema (normalmente conservate nella directory /var/log/), oppure su di un sistema remoto (il quale funge come un apposito server di registrazione per computer multipli.)
Gli Intrusion detection sytem (IDS) sono dei tool molto potenti utili ad ogni amministratore di sistema. Un IDS rende possibile per gli amministratori di sistema, determinare la presenza di modifiche non autorizzate su uno o pi� sistemi. Il design medio del sistema operativo include una funzionalit� simile all'IDS.
Poich� Red Hat Enterprise Linux � installato utilizzando l'RPM Package Manager (RPM), � possibile l'utilizzo dell'RPM stesso per verificare se qualsiasi modifica fatta ai pacchetti, possa compromettere il sistema operativo. Tuttavia, poich� RPM � innanzitutto un tool di gestione del pacchetto, le sue abilit� come IDS sono limitate. Nonostante tutto, rappresenta un primo passo nei confronti del controllo di modifiche non autorizzate di un sistema Red Hat Enterprise Linux.