Introduzione ai servizi di Linux

Laboratorio di sistemi
Introduzione ai servizi
Linux
Introduzione ai servizi di Linux
Premessa
Adios è un interessante sistema operativo Linux basato sulla distribuzione Fedora Core 6
(ex Red Hat) distribuito come Live CD (con la possibilità di essere anche installato) dalla
Central University di Queensland in Australia (http://os.cqu.edu.au/adios/). Uno dei punti
di forza del sistema è la possibilità di essere caricato interamente in memoria fornendo
agli utenti i privilegi necessari per poter gestire i principali servizi di rete e di
amministrazione del sistema. L'interfaccia grafica usata da Adios è la KDE
Impostazioni della tastiera
Prima di procedere, controlliamo le impostazioni della tastiera. Per settare la tastiera
italiana, digitiamo:
setxkbmap it
Utenti predefiniti
Il sistema operativo Adios ha come utenti predefiniti l'utente adios e l’utente root e
entrambi hanno come password 12qwaszx.
Di default il sistema parte con l’utente adios, che ha ovviamente permessi limitati.
guida_servizi.pdf
Pag. 1/7
Cozzetto/Regosini ©
Laboratorio di sistemi
Introduzione ai servizi
Linux
Quando si apre una shell, per diventare superutente digitare:
su (su seguito da spazio e poi dal carattere meno)
e inserire la password 12qwaszx
Come root è possibile fare qualsiasi cosa (root è l’amministratore con pieni poteri).
Disabilitare il firewall (iptables)
Adios è impostato per avere la rete 172.16.0.0 come rete lan trust, cioè sicura. Il firewall
è programmato per permettere quasi ogni cosa solo su questa rete. In laboratorio invece
generalmente si usa la rete 192.168.0.0/16. Occorre allora disabilitare il firewall per
permettere pieno accesso ai servizi sulla rete 192.168.0.0/16
Il firewall si disabilita fermando, per esempio, il servizio iptables che svolge appunto le
funzioni di firewall:
service iptables stop
Un altro modo per disabilitare il firewall è quello di cancellare dinamicamente tutte le
regole di cui si compone, in modo da non bloccare alcun traffico (eseguire il flush delle
chain). Il comando è:
iptables –F
In questo modo però il servizio è sempre in esecuzione ma senza alcuna regola di fatto
non blocca nulla. Nel primo caso invece con service iptables stop il processo termina e
rilascia le risorse.
Gestire i servizi di Linux
Nel comando precedente abbiamo visto che si usa la parola service seguita dal nome del
servizio e dalla parola stop. In dettaglio, service è il nome di uno script di sistema che
serve per gestire i vari servizi. service accetta le seguenti opzioni: start stop restart
status. In particolare status dice se il servizio è in esecuzione o meno. Nel dettaglio
service non fa altro che cercare il nome del servizio specificato sotto la seguente cartella
di sistema /etc/rc.d/init.d/; lì infatti risiedono gli script di ogni servizio installato. In
quasi tutte le distribuzioni però si preferisce aggiungere un link simbolico, init.d, in
modo da farlo puntare direttamente alla directory rc.d/init.d
In pratica /etc/init.d/ punta direttamente alla cartella contenente i servizi installati.
Entrambi i percorsi, /etc/init.d/ e /etc/rc.d/init.d/, puntano alla stessa cartella.
Configurare i servizi
Ogni servizio ha quasi sempre un file associato contenente tutti i parametri necessari alla
sua configurazione. Tutti i file di configurazione si trovano sotto la cartella di sistema
/etc o /etc/sysconfig e poi in sottocartelle specifiche.
Per alcuni servizi sotto /etc ci possono essere anche delle cartelle loro dedicate.
Esempio per il servizio httpd, il server web (vedi sotto), esiste la cartella /etc/httpd
contenente poi una serie di file utili alla sua specifica configurazione.
guida_servizi.pdf
Pag. 2/7
Cozzetto/Regosini ©
Laboratorio di sistemi
Introduzione ai servizi
Linux
Avviare il server web Apache (httpd)
Per verificare che Apache è presente nel sistema si può impartire il comando
httpd -t
Il comando serve per verificare la correttezza sintattica del comando ma anche per
verificare se il servizio è presente nel sistema. Un modo alternativo consiste nel digitare il
comando
rpm -qa | grep httpd
che restituisce i pacchetti installati sul sistema (di solito httpd-manual-2.2.3-5 e
httpd-2.2.3-5, i valori possono essere ovviamente diversi il base alla versione), dove rpm
è il tool di installazione dei pacchetti per sistemi basati su Red Hat.
Il servizio web lo si attiva mediante il comando
service httpd start
Prima di attivarlo però dobbiamo apportare alcune piccole modifiche al file di
configurazione del servizio httpd per abilitare alcune caratteristiche del servizio che per
default sono disabilitate.
Apriamo il file /etc/httpd/conf/httpd.conf mediante un editor di testo. L’editor di testo
nano può andare benissimo. Quindi possiamo scrivere:
nano /etc/httpd/conf/httpd.conf
guida_servizi.pdf
Pag. 3/7
Cozzetto/Regosini ©
Laboratorio di sistemi
Introduzione ai servizi
Linux
Mediante il comando ^W (ctrl+W) cerchiamo la stringa userdir.c e poi premiamo invio.
L’editor si sposta all’inizio di una sezione che inizia con <IfModule mod_userdir.c>
Commentiamo la prima riga e scommentiamo la seconda (UserDir public_html).
Commentare significa aggiungere come primo carattere il cancelletto #
Salviamo i cambiamenti mediante ^O (write out) e premendo invio per confermare il nome
del file.
Infine usciamo con il comando ^X (exit).
Ora possiamo avviare il servizio con
service httpd start
oppure
service httpd restart
se lo avevamo già avviato.
Apache usa la cartella /var/www/html/ per memorizzare i file del sito da presentare.
/war/www/html/ è quindi la home directory del sito. Lì sotto devo mettere i file del sito
principale.
Per collegarsi al servizio del web basta usare, da un computer remoto, un normalissimo
browser e digitare l’indirizzo del server nella barra degli indirizzi. Per vedere il sito dalla
macchina linux stessa, basta avviare un browser e scrivere come indirizzo o localhost o
127.0.0.1.
http://localhost
guida_servizi.pdf
Pag. 4/7
Cozzetto/Regosini ©
Laboratorio di sistemi
Introduzione ai servizi
Linux
Creare nuovi utenti
Può essere utile creare nuovi utenti, oltre all’utente adios, per sperimentare più
connessioni al sistema da parte di utenti diversi. Per creare un nuovo utente si deve
digitare:
adduser nomeutente
dove nomeutente è il nome utente (login) che si vuole aggiungere al sistema.
Esempio:
adduser pippo
aggiunge al sistema l’utente pippo.
Subito bisogna assegnare una password mediante il comando passwd. Es
passwd pippo
permette di impostare la password per l’utente pippo. Il sistema chiede di inserire la
password e poi di riconfermarla. ATTENZIONE: mentre si digita i caratteri non si vedono a
video, ma il sistema li accetta comunque.
Il comando passwd serve anche a cambiare la propria password personale.
Infine ricordate che ogni utente ha la propria home directory sotto la cartella /home.
L’utente pippo per esempio avrà la /home/pippo/ mentre adios, /home/adios. Root,
invece che è privilegiato, ha la /root.
Mediante la modifica apportata al file di configurazione ora siamo in grado anche di
accedere al sito privato di ogni utente. Ogni utente infatti può creare, nella propria home
directory, la cartella public_html e copiare lì dentro i file del proprio sito.
Per accedere a questo sito si deve anteporre al nome dell’utente il carattere tilde ~
Esempio: per accedere al sito dell’utente pippo presente sul server di indirizzo IP
192.168.7.200 si deve scrivere nella barra degli indirizzi del browser
http://192.168.7.200/~pippo/
Non dimenticarsi però di dare i permessi di accesso alla propria home directory. Permessi
di accesso significa poter entrare, cioè passare per la propria home directory, ma non
necessariamente leggerne il contenuto (elenco dei file).
Dobbiamo in effetti permettere al processo di apache di passare nella nostra home
directory per entrare nella public_htm e leggere i file del sito da presentare al client che li
richiede.
Per dare i permessi di passaggio:
Spostiamoci nella directory /home mediante il comando
cd /home
Diamo il permesso di passare dalla nostra home directory mediante:
chmod +x pippo
(supponiamo di essere il solito utente pippo, quindi di dare i permessi alla cartella pippo).
Ricordo che il permesso di esecuzione (+x) ad una directory significa poterci accedere. Se
però non do il permesso anche di lettura (+r) non potrò elencarne il contenuto, quindi è
guida_servizi.pdf
Pag. 5/7
Cozzetto/Regosini ©
Laboratorio di sistemi
Introduzione ai servizi
Linux
possibile entrare, per arrivare poi alla cartella public_html, ma non è possibile vederne il
contenuto.
La cartella public_html incede dovrebbe avere i permessi per poter leggerne il contenuto
cd /home/pippo
chmod 755 public_html
Avviare il servizio Secure Shell (sshd)
Secure shell è un servizio che permette di collegarsi al sistema mediante terminale
remoto, fornendo una shell per impartire i comandi al sistema come se si fosse fisicame
seduti davanti alla macchina. In pratica è un’evoluzione di Telnet con la differenza che la
connessione e i comandi sulla rete viaggiano criptati.
Per avviare ssh si deve digitare
service sshd start
Un utente remoto che intende collegarsi al sistema mediante ssh deve poterlo fare con un
client che supporti il protocollo ssh. Putty (cercare putty download in google e poi
scaricare putty.exe, per i sistemi Windows, mentre putty è già incluso in Adios) è un client
che permette di collegarsi sia come telnet che come ssh (e altro ancora).
Avviato, si deve selezionare in Connection type SSH e inserire in Host Name l’indirizzo IP
della macchina server a cui ci si vuole collegare.
Premendo Open, la prima volta ci viene chiesto di inserire in modo permamente una
guida_servizi.pdf
Pag. 6/7
Cozzetto/Regosini ©
Laboratorio di sistemi
Introduzione ai servizi
Linux
chiave usata per lo scambio di informazioni criptate con il serve. Dite Yes e poi
proseguite. Se tutto è andato a buon fine, vi verrà chiesto di inserire login e poi password
per accedere al sistema.
Una volta loggati, ci troveremo nella nostra home directory
Avviare il server ftp (vsftpd)
Il server ftp permette alla macchina Linux di poter far scaricare dei file che si vogliono
condividere con gli utenti. Il servizio viene attivato mediante
service vsftpd start
Il servizio condivide la cartella /var/ftp/pub/ nella quale è possibile copiare i file che si
vogliono poi poter scaricare da parte degli utenti collegati tramite ftp
Per collegarsi al servizio ftp serve un client ftp. Ne esistono molti, sia a pagamento che
free.
Lo stesso browser può essere usato come client ftp. Nella barra dell’indirizzo basta
inserire sempre l’indirizzo IP del serve a cui ci si vuole collegare, specificando però di
usare come protocollo l’ftp anziché l’http. Esempio digitando:
ftp://192.168.7.200
(è l'indirizzo del server ftp del laboratorio 2, in alternativa si può provare il server locale
digitando ftp://localhost) ci si collega al server di indirizzo IP 192.168.7.200 mediante il
servizio ftp.
Se ci si vuole collegare come un utente specifico, in Internet Explorer sotto il menù File
scegliere il comando Accedi come… per aprire una schermata in cui poter inserire nome
utente e password.
Quando ci si collega come un utente specifico, ci si trova direttamente nella propria home
directory nella quale è perciò possibile sia caricare file che creare nuove directory.
guida_servizi.pdf
Pag. 7/7
Cozzetto/Regosini ©