Inserisci Infobox

Tool grafici per l'amministrazione del sistema

Le alternative grafiche alla command line per la gestione e configurazione di sistemi Linux / Unix. Webmin e altri tool grafici.

Attività da sistemista
Autore: al - Ultimo Aggiornamento: 2006-03-23 11:55:26 - Data di creazione: 2004-05-23 16:14:50
Tipo Infobox: DESCRIPTION - Skill: 1- NOVICE

Spiegare cosa fa un sistemista non è sempre ovvio.
Definire quali sono i suoi compiti è quantomeno pretenzioso.
Inquadrare gli skill di cui ha bisogno è limitativo, visto che di fatto, in molte realtà, un sistemista deve poter gestire e configurare hardware e software eterogenei che richiedono conoscenze ed esperienza disparate.

Le attività sistemistiche su un server con qualsiasi sistema operativo variano a seconda delle funzioni della macchina e del contesto lavorativo.
Generalmente il sistemista si dovrebbe preoccupare di:
1- Partecipare a riunioni e fornire la propria opinione sulla definizione dell'infrastruttura informatica e la scelta e il dimensionamento dell'hardware da utilizzare;
2- Installare le macchine;
3- Eseguire le procedure di post-installazione standard (aggiornamento software, rimozione servizi inutili, hardening del sistema, installazione di script e procedure custom);
4- Installare, configurare e testare i servizi richiesti per la macchina;
5- Monitorare performance, sicurezza e funzionalità del sistema;
6- Assistere e assecondare le richieste dirette o indirette degli utenti del sistema (sviluppatori e utenti dei servizi);
7- Eseguire backup e ripristino dei dati;
8- Automatizzare varie procedure nel sistema;
8- Documentare approfonditamente il lavoro svolto.

Troppo spesso il sistemista:
1- Non viene interpellato per una consulenza sulle tecniche più adeguate per le esigenze richieste;
2- Racka, cabla, se necessario smonta e rimonta, e installa le macchine;
3- Non ha una procedura standard di post installazione a cui attenersi;
4- Installa e configura i servizi necessari per la macchina, non sempre li testa a dovere;
5- Non controlla quasi mai i log di sistema, non implementa procedure di controllo;
6- Asseconda gli utenti ma li odia;
7- A volte prevede il backup dei dati, raramente esegue test di recupero;
8- Ripete spesso i soliti comandi;
9- La migliore documentazione la mantiene in testa, il resto in qualche file sul proprio computer.

Generalmente il tutto si spiega e si tende a giustificare con la cronica mancanza di tempo, spesso basterebbe un po' di lucidità progettuale e lungimiranza per riuscire ad ottenere tutti i risultati e alla lunga risparmiare tempo.

- La documentazione è fondamentale: permette di mantenere memoria storica del funzionamento dei sistemi e mette in grado il sistemista di delegare a colleghi meno esperti o appena arrivati di svolgere correttamente il lavoro che dovrebbe svolgere da solo.
- La partecipazione alle decisioni tecniche va richiesta con la giusta insistenza. E se ci ritrova a dover eseguire lavori, imposti dall'altro e tecnicamente discutibili, è doveroso quantomeno esprimere il proprio dissenso e suggerire le alternative più adeguate.
- Nonostante il knowledge generalmente vasto e variegato che spesso un sistemista deve avere, il suo compito di fatto è oscuro ai molti e a volte considerato di importanza trascurabile. Di solito ci si accorge del contrario quando un sistema in produzione va down e qualcuno deve farlo tornare a a funzionare.
- L'utente che usa i servizi della macchina o lo sviluppatore che riempe i contenuti di un sito web, per quanto generalmente poco sensibili alle esigenze e condizioni del sistemista, NON può e NON deve essere considerato un nemico. Di fatto è il motivo per cui il sistemista lavora e, in ogni caso, non ce se ne può disfare. L'unico modo per conviverci al meglio è educarlo all'uso del sistema e capire cosa gli serve per ridurre problemi e tempi di implementazione.
- Per quanto possibile è sempre consigliabile mantenere hardware e software omogenei: hardware dello stesso fornitore e non eterogeneo riduce complicazioni e velcoizza la sostituzione di pezzi di ricambio. Sistemi allineati (stesso OS, stessa distribuzione, stessa versione) rendono più facile, comoda e rapida l'attività sistemistica: gli aggiornamenti di software e kernel possono essere più rapidi e viene ottimizzato il tempo per seguire le problematiche di sicurezza di un sistema operativo.

Installazione webmin
Autore: Eberk - Ultimo Aggiornamento: 2002-10-07 14:25:15 - Data di creazione: 2002-10-07 14:25:15
Tipo Infobox: STDOUT - Skill: 2- JUNIOR

Segue lo standard output della procedura di installazione di WebMin 1.0.
Una volta installato si può accedere all'interfaccia di amministrazione collegandosi via browser alla porta 10000 della macchina su cui è stato installato. Es: http://eberk.intranet:10000/

[root@eberk diego]# wget http://switch.dl.sourceforge.net/sourceforge/webadmin/webmin-1.000.tar.gz

--12:29:26--  http://switch.dl.sourceforge.net/sourceforge/webadmin/webmin-1.000.tar.gz
           => `webmin-1.000.tar.gz'
Resolving switch.dl.sourceforge.net... fatto.
Connecting to switch.dl.sourceforge.net[195.176.255.8]:80... connected.
HTTP richiesta inviata, aspetto la risposta... 200 OK
Lunghezza: 5,643,949 [application/x-gzip]
100%[====================================>] 5,643,949     60.15K/s    ETA 00:00

12:30:59 (60.15 KB/s) - `webmin-1.000.tar.gz' salvato [5643949/5643949]

[root@eberk diego]# tar -zxvf webmin-1.000.tar.gz  
webmin-1.000/
webmin-1.000/config.cgi
[...]
webmin-1.000/mscstyle3/images/letters2/88.gif

[root@eberk diego]# cd webmin-1.000
[root@eberk webmin-1.000]# ./setup.sh
***********************************************************************
*            Welcome to the Webmin setup script, version 1.000         *
***********************************************************************
Webmin is a web-based interface that allows Unix-like operating
systems and common Unix services to be easily administered.

Installing Webmin in /home/diego/webmin-1.000 ...

***********************************************************************
Webmin uses separate directories for configuration files and log files.
Unless you want to run multiple versions of Webmin at the same time
you can just accept the defaults.

Config file directory [/etc/webmin]:
Log file directory [/var/webmin]:

***********************************************************************
Webmin is written entirely in Perl. Please enter the full path to the
Perl 5 interpreter on your system.

Full path to perl (default /usr/bin/perl):

Testing Perl ...
Perl seems to be installed ok

***********************************************************************
Operating system name:    Redhat Linux
Operating system version: 7.3

***********************************************************************
Webmin uses its own password protected web server to provide access
to the administration programs. The setup script needs to know :
- What port to run the web server on. There must not be another
   web server already using this port.
- The login name required to access the web server.
- The password required to access the web server.
- The hostname of this system that the web server should use.
- If the webserver should use SSL (if your system supports it).
- Whether to start webmin at boot time.

Web server port (default 10000):
Login name (default admin): eberk
Login password:
Password again:
Web server host name (default eberk.intranet):
The Perl SSLeay library is not installed. SSL not available.
Start Webmin at boot time (y/n): y
***********************************************************************
Creating web server config files..
..done

Creating access control file..
..done

Inserting path to perl into scripts..
..done

Creating start and stop scripts..
..done

Copying config files..
..done

Configuring Webmin to start at boot time..
Created init script /etc/rc.d/init.d/webmin
..done

Creating uninstall script /etc/webmin/uninstall.sh ..
..done

Changing ownership and permissions ..
..done

Running postinstall scripts ..
..done

Attempting to start Webmin mini web server..
Starting Webmin server in /home/diego/webmin-1.000
..done

***********************************************************************
Webmin has been installed and started successfully. Use your web
browser to go to

  http://eberk.intranet:10000/

and login with the name and password you entered previously.

[root@eberk diego]#

Disinstallazione webmin
Autore: Eberk - Ultimo Aggiornamento: 2002-10-07 14:26:11 - Data di creazione: 2002-10-07 14:26:11
Tipo Infobox: STDOUT - Skill: 2- JUNIOR

Come per l'installazione, webmin prevede uno script anche per la disinstallazione, presente in /etc/webmin.

[root@eberk diego] cd /etc/webmin/
[root@eberk webmin]# ./uninstall.sh
Are you sure you want to uninstall Webmin? (y/n) : y

Stopping Webmin server in /home/diego/webmin-1.000
Running uninstall scripts ..
Deleted init script /etc/rc.d/init.d/webmin
Deleting /home/diego/webmin-1.000 ..
Deleting /etc/webmin ..
Done!
[root@eberk webmin]#

Introduzione a Webmin
Autore: Eberk - Ultimo Aggiornamento: 2004-05-23 16:15:32 - Data di creazione: 2004-05-23 16:15:32
Tipo Infobox: DESCRIPTION - Skill: 2- JUNIOR

Webmin e' un semplice tool web-based che permette, attraverso un interfaccia molto user-friendly, di poter amministrare praticamente l'intero sistema. E' anche un ottimo strumento "didattico", in quanto permette di verificare la sintassi di file di configurazione e le funzionalità di servizi e programmi vari, editandoli tramite una intuitiva interfaccia grafica.

E' composto da un server web (che di default lavora sulla porta 10000) e da numerosi CGI scritti in Perl che agiscono direttamente su file di sistema come /etc/inetd.conf e /etc/passwd.
Per poter utilizzare webmin, bisogna innanzi tutto scaricarlo dal sito ufficiale (disponibile sia il .tar.gz che l'RPM), dopodiche', tramite un piccolo script, eseguire l'installazione.
Durante l'installazione verranno chieste svariate cose (in linea di massima, a parte user name, le soluzioni di default vanno piu' che bene) tra cui file di configurazione, file di log, path del binario di perl, porta per il server web, utente e password.
Attenzione: se possedete una versione di webmin compresa tra la 0.91 e la 0.960, affrettatevi a scaricarne una piu' aggiornata, in quanto quelle versioni presentano un grave buco che spalanca le porte del vostro sistema ai cracker.
La falla riguarda il modo in cui comunicano il processo padre ed il processo figlio di webmin.
Sfruttando questo l'aggressore, da remoto, puo' ingannare il programma utilizzando il sessionID di un qualsiasi utente gia' loggato nel sistema, e poter cosi' eseguire  ogni tipo di azione con i privilegi di root. Per fare questo si deve essere a conoscenza di almeno un nome utente valido, cosa non molto difficile, visto e considerato che di default webmin assegna il nome admin.
Webmin puo' essere compilato tranquillamente su una grande varieta' di sistemi operativi, da Linux alle piu disparate versioni di Unix, compreso il mac OS X.
La sua natura modulare ha permesso la creazione di innumerevoli plug-in in grado di gestire e configurare diversi servizi.

Introduzione a Linuxconf
Autore: Eberk - ( Revisione: al ) - Ultimo Aggiornamento: 2002-10-13 20:23:10 - Data di creazione: 2002-10-13 20:23:10
Tipo Infobox: DESCRIPTION - Skill: 2- JUNIOR

Linuxconf e' un tool che permette, tramite 3 interfacce diverse, di amministrare il proprio sistema Linux in maniera abbastanza semplice ed intuitiva.

E' facilmente installabile via rpm ( rpm -i linuxconf-ver-arch.rpm )
Vi sono 3 interfacce per linuxconf: testuale, web e grafica.
La prima e' eseguibile da shell digitando linuxconf (o digitando il path completo /sbin/linuxconf) ed e' composta da menu e sottomenu a tendina con tanto di help per ogni singola voce.
La seconda e' eseguibile da un qualsiasi browser e lavora sulla porta 98 ( http://localhost:98 ).
La terza (disponibile dalla versione 1.9 release 26-12) gira in ambiente grafico, ed ha un impostazione molto simile alla modalita' testuale, anche se e' un po piu' user-friendly di quest'ultima.
Tramite Linuxconf varie operazioni di amministrazione del sistema e di specifici servizi sono presentate con una intuibile interfaccia. In alcuni casi tende a riscrivere i file di configurazione secondo dei propri canoni e questo puo' creare confusione o problemi a chi lo usa.

PhpSysInfo: overview ed installazione
Autore: homer - Ultimo Aggiornamento: 2004-11-12 17:50:35 - Data di creazione: 2004-11-12 17:50:35
Tipo Infobox: DESCRIPTION - Skill: 3- INTERMEDIATE

PhpSysInfo è uno script PHP per la visualizzazione di informazioni sul sistema.

OVERVIEW
PhpSysInfo è uno script sviluppato in linguaggio PHP che permette di visualizzare tramite browser informazioni sul sistema riguardanti, la rete, la memoria, il filesystem, e l'hardware. E' rilasciato sotto licenza GPL ed è disponibile per tutti i sistemi BSD e le piattaforme Posix. Per utilizzare questo tool è necessario avere sulla macchina da monitorare, un web server con supporto di PHP.

DOWLOAD
E' possibile effettuare il download presso SourceForge.net:
root@Joker:/software# wget http://puzzle.dl.sourceforge.net/sourceforge/phpsysinfo/phpsysinfo-2.3.tar.gz
--18:31:38--  http://puzzle.dl.sourceforge.net/sourceforge/phpsysinfo/phpsysinfo-2.3.tar.gz
           => `phpsysinfo-2.3.tar.gz'
Resolving puzzle.dl.sourceforge.net... done.
Connecting to puzzle.dl.sourceforge.net[195.141.101.221]:80... connected. <br>
HTTP request sent, awaiting response... 200 OK
Length: 163,674 [application/x-gzip]

100%[=================================================================================================================================>] 163,674        3.62K/s    ETA 00:00
18:32:23 (3.62 KB/s) - `phpsysinfo-2.3.tar.gz' saved [163674/163674]

In caso di utilizzo con PHP 5.0 o sucessivi, è necessario scaricare le versione 2.3.

INSTALLAZIONE
Una volta eseguito il download, il pacchetto andrà scompattato nella document root del webserver sull'host che di cui si vuole eseguire il monitoraggio:
root@Joker:/home/webuser# tar xvfz phpsysinfo-2.3.tar.gz
phpsysinfo-dev/
phpsysinfo-dev/includes/
phpsysinfo-dev/includes/lang/
phpsysinfo-dev/includes/lang/big5.php
phpsysinfo-dev/includes/lang/bg.php
phpsysinfo-dev/includes/lang/br.php
phpsysinfo-dev/includes/lang/ca.php
phpsysinfo-dev/includes/lang/cn.php
phpsysinfo-dev/includes/lang/cs.php
phpsysinfo-dev/includes/lang/ct.php
phpsysinfo-dev/includes/lang/da.php
phpsysinfo-dev/includes/lang/de.php
phpsysinfo-dev/includes/lang/en.php
...


Quindi è necessario rinominare il file principale di configurazione config.php.new in config.php:
root@Joker:/home/webuser/phpsysinfo-dev# cp config.php.new config.php

CONFIGURAZIONE
Per utilizzare il tool, si andrà ad inserire una entry nel file di configurazione del web server, in modo da potervi accedere via web. Un esempio di configurazone utilizzando Apache:
root@enigma:/home/webuser/phpsysinfo-dev# cat /usr/local/apache/conf/httpd.conf
...
Alias /sysinfo/ "/home/webuser/phpsysinfo-dev/"
<Directory "/home/webuser/phpsysinfo-dev">
   Options Indexes
   AllowOverride None
   Order allow,deny
   Allow from 192.168.0.
</Directory>
...

Le informazioni vengono richiamate puntando a http://nomehost/sysinfo e ne è permessa la visualizzazione solamente alle macchine della rete 192.168.0

L'ultimo settaggio riguarda il file php.ini, il quale deve includere nela variabile include_path il "." e in cui la variabile safe_mode deve essere settata a off, in quanto lo script deve poter accedere in lettura alla directory /proc del sistema al fine di ricavarne le informazioni. Terminate queste operazioni, dopo il riavvio del webserver, sarà possibile accedere alla pagina generata da PhpSysInfo.

Privacy Policy