]> git.piffa.net Git - doc/.git/blob - source/servizi.txt
First commit, previously hosted on bender.
[doc/.git] / source / servizi.txt
1 =====================
2 Servizi passo a passo
3 =====================
4 ----------------------------------------------------------
5 Appunti sulla installazione e configurazione dei servizi
6 ----------------------------------------------------------
7
8   :Author: Andrea Manni
9   :Copyright: GFDL
10   :Version: 0.2
11
12 .. contents::
13
14 Generato con: http://docutils.sourceforge.net/rst.html
15
16 Configurazione sistema
17 #########################
18
19 Inpostazioni di base per la configurazione del sistema operativo
20
21 Rete
22 ------
23
24 Parametri della rete attualmente in uso::
25
26   ============= ================
27    rete         10.10.208.0/24
28   ============= ================
29   netmask       255.255.255.0
30   broadcast     10.10.208.255
31   gateway       10.10.208.254
32   gateway       10.10.208.250
33                 persistente
34   DNS           10.10.208.254
35   DNS           10.10.208.250
36                 persistente
37   ============= ================
38
39
40
41 Bash completion
42 -------------------
43
44 Abilitare /etc/bash_completion nel file /etc/bash.bashrc oppure ~/.bashrc ::
45
46         . /etc/bash_completion
47
48 /etc/bash_completion deve essere pre istallato, nel caso che non sia disponibile installare il pacchetto: bash-completion
49
50
51 Vim
52 ------------
53
54 Sara' opportuno installare la versine completa dell'editor vim tramite il pacchetto vim e mnodificare il file di configurazione generale /etc/vim/vimrc ::
55
56     " All system-wide defaults are set in $VIMRUNTIME/debian.vim (usually just
57     " /usr/share/vim/vimcurrent/debian.vim) and sourced by the call to :runtime
58     " you can find below.  If you wish to change any of those settings, you should
59     " do it in this file (/etc/vim/vimrc), since debian.vim will be overwritten
60     " everytime an upgrade of the vim packages is performed.  It is recommended to
61     " make changes after sourcing debian.vim since it alters the value of the
62     " 'compatible' option.
63     
64     " This line should not be removed as it ensures that various options are
65     " properly set to work with the Vim-related packages available in Debian.
66     runtime! debian.vim
67     
68     " Uncomment the next line to make Vim more Vi-compatible
69     " NOTE: debian.vim sets 'nocompatible'.  Setting 'compatible' changes numerous
70     " options, so any other options should be set AFTER setting 'compatible'.
71     "set compatible
72     
73     " Vim5 and later versions support syntax highlighting. Uncommenting the next
74     " line enables syntax highlighting by default.
75     syntax on
76     
77     " If using a dark background within the editing area and syntax highlighting
78     " turn on this option as well
79     set background=dark
80     
81     " Uncomment the following to have Vim jump to the last position when
82     " reopening a file
83                       
84     if has("autocmd")
85       au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
86         \| exe "normal! g'\"" | endif
87     endif
88     
89     " Uncomment the following to have Vim load indentation rules and plugins
90     " according to the detected filetype.
91     if has("autocmd")
92       filetype plugin indent on
93     endif
94     
95     " The following are commented out as they cause vim to behave a lot
96     " differently from regular Vi. They are highly recommended though.
97     set showcmd             " Show (partial) command in status line.
98     "set showmatch          " Show matching brackets.
99     set ignorecase          " Do case insensitive matching
100     "set smartcase          " Do smart case matching
101     "set incsearch          " Incremental search
102     set autowrite           " Automatically save before commands like :next and :make
103     "set hidden             " Hide buffers when they are abandoned
104     "set mouse=a            " Enable mouse usage (all modes) in terminals
105     
106     " Source a global configuration file if available
107     " XXX Deprecated, please move your changes here in /etc/vim/vimrc
108     if filereadable("/etc/vim/vimrc.local")
109       source /etc/vim/vimrc.local
110     endif                                             
111
112 VNC
113 ------------
114
115 Scaricare il pacchetto xtightvncviewer, e lo script guarda.sh che deve essere reso eseguibile in una posizione (nel senso di collocazione nel path degli utenti) comoda per gli utenti.
116
117 Procedura::
118
119     su root
120     cd /bin
121     wget http://debian.piffa.net/guarda.sh
122     chmod +x guarda.sh
123     exit
124
125 Si noti, per pieta' divina, che non e' possibile lanciare un applicativo grafico sul server grafico di un utente di sistema da una shell in cui si e' loggati come altro utente, in questo caso root. E' quindi necessario essere l'utente di sistema che si e' loggato inizialmente nella sessione grafica per poter lanciare lo script guarda.sh .
126
127 Lista dei pacchetti di base
128 -----------------------------
129
130 I pacchetti installati generalemnte durante le lezioni sono::
131
132         kde-core kdm kde-i18n-it xorg vim less xtightvncviewer 
133
134 Apt configurazione
135 ---------------------
136
137 Vediamo i due file principali di apt::
138
139         * /etc/apt/sources.list
140
141         * /etc/apt/apt.conf
142
143 sources.list
144 ~~~~~~~~~~~~~~~~
145
146 Questo file contiene i sorgenti da cui apt preleva i pacchetti da installare tramite dpkg, vengono quindi precisati i metodi (ad es. http / ftp / cdrom / file), la release che si vuole tracciare (es stable , testing , unstable oppure i corrispondenti release name es: lenny, squeeze, sid), i rami di interesse (es: main che e' la parte principale, non-free per il software non libero, contrib per i pacchetti non realizzati dai manutentori ufficiali).
147
148 Gli archivi sono generalemnte::
149
150         * deb per pacchetti debian binari
151
152         * deb-src per i pacchetti sorgenti (quindi da compilare, come il kernel) degli stessi pacchetti binari. Se non compilate generalmente i vostri pacchetti potete evitare di tracciare i sorgenti per risparmiare tempo e banda.
153
154
155 /etc/apt/sources.list ::
156
157     # esempio di accesso a un CDROM:
158     # cdrom:[Debian GNU/Linux 5.0.1 _Lenny_ - Official i386 kde-CD Binary-1 20090$
159     
160     # Archivio principale debian via http su piffa.net,
161     # non funziona al difuori dell'aula dei corsi
162     deb http://debian.piffa.net/debian/ lenny main
163     # deb http://debian.piffa.net/debian/ lenny  non-free contrib
164     
165     # Mirror da kernel.org da usare a casa:
166     deb http://mirrors.eu.kernel.org/debian/ lenny main
167     
168     # Security dal sito principale
169     deb http://security.debian.org/ lenny/updates main
170     deb-src http://security.debian.org/ lenny/updates main
171     
172     # Debian volatile per le cose soggette a cambiamenti non legati
173     # a dinamiche di sicurezza
174     deb http://volatile.debian.org/debian-volatile lenny/volatile main
175     deb-src http://volatile.debian.org/debian-volatile lenny/volatile main
176     
177     # Esempio di accesso a un filesystem locale contenente i pacchetti:
178     # deb file:/mnt/mirror sid main non-free contrib
179
180
181 /etc/apt/apt.conf
182 ~~~~~~~~~~~~~~~~~~
183
184 Questo file contiene le opzioni di apt, come ad esempio il proxy::
185
186     Acquire::http::Proxy "http://10.10.208.254:3128"
187
188
189 Servizi
190 ========
191
192 Squid
193 ======
194
195 Apache
196 ========
197
198 DNSmasq
199 ========
200
201 Samba
202 ======
203
204 Pacchetti da installare per utilizzare samba in modalita' server::
205
206         samba smbfs smbclient
207
208
209 Durante la prima installazione viene chiesto ilnome del gruppo di appartenenza, il default per windows e' WORKGROUP. In aula usiamo invece 208 . 
210 Per riconfigurare samba si usi il comando::
211
212         dpkg-reconfigure samba-common
213
214 Quando si utilizza samba bisogna tener conto di 3 livelli di password:
215
216         * Sistema \*Unix
217           E' la password di sistema che viene usata sul sistema operativo su cui gira samba. E' importante tenere conto anche delle user id e group id degli utenti che dovranno fisicamente scrivere sui file system. Se un utente non puo' scrivere sul file system per mancanza di privilegi allora neanche samba potra' farlo nel momento in cui gli mette a disposizione la risorsa.
218           Queste passwords sono salvate nel solito file /etc/shadow (richiamato da /etc/passwd).
219
220         * Password per l'applicativo samba
221           Samba deve essere compatibile con Windows e quindi utilizzare un sistema di criptazione delle password diverso da /etc/shadow.a Le password per l'applicativo samba vengono gestite ad esempio col comando smbpasswd e vengono salvate all'interno di  /var/lib/samba/passdb.tdb .
222
223         * Password per windows.
224           Gli utenti windows effettuazno il log-in alla partenza della sessione di windows. Se si avra' l'accortezza di usare la stessa password data precedentemente anche a windows (o viceversa impostare la password per GNU/Linux / Samba ugale a quella di Windows) l'utente potra' accedere automaticamente alle condivioni a lui disponibili.
225
226 Password di samba vengono salvate nel file: /var/lib/samba/passdb.tdb
227
228 Creazione Utenti
229 -------------------
230
231 Creiamo per primo l'utente sotto GNU/Linux, facendo attenzione a *non* dargli una shell di sistema. Gli utenti Windows non hanno bisogno di poter eseguire comandi sul server!
232
233 Creazione di un utente denominato sambo::
234         
235         adduser --shell /bin/false sambo
236
237 Nota: Ricordarsi di usare sempre la stessa password.
238 nel file /etc/passwd avremo qualcosa come::
239
240         sambo:x:1001:1001:Sambo utente samba!,,,:/home/sambo:/bin/false
241
242
243 Aggiunta dell'utente al database delle password per samba e generazione della sua password:
244         
245         smbpasswd -a sambo
246
247 Se sucessivamente si vorra' modificare la password di un utente gia' esistente si usi:
248
249         smbpasswd  sambo
250
251
252 La password sotto windows verra' modificata sul sistema Windows.
253
254 Creare la condivisione
255 ------------------------
256
257 La condivisione altro non e' che una cartella sul server che viene resa disponibile sui client negoziando l'accesso in base all'autenticazione tramite esername / password. Si decida se fisicamente debba risiendere nella home di un utente (nel caso quest'ultimo ne sia l'unico fruitore) o in una cartella in /mnt/ nel caso piu' utenti accedano a questa. Nel secondo caso si gestiscano gli accessi sotto GNU/Linux tramite i gruppi.
258
259 Creazione della risorsa sambo_share nella home dell'utente sambo::
260
261         # mkdir /home/sambo/sambo_share
262         # chown sambo:sambo /home/sambo/sambo_share/
263
264 Bisognerebbe notare i permessi di esecuzione del filesystem che ospita la carterlla. Se i file che saranno contenuti nella condivisione saranno da usarsi sotto Windows non c'e' motivo che questi siano eseguibili sotto GNU/Linux. 
265 Si potrebbe avere quindi, ipotizzando una condivisione in /mnt/share che consista in un file system dedicato:
266
267 In /etc/fstab ::
268
269         /dev/hda10       /mnt/share      ext3    rw,nosuid,noexec  0  3
270
271 Si noti anche l'uso di *nosuid* per evitare la possibilita' di eseguire programmi con credenziali diverse da quelle originali.
272
273 Configurazione dell'applicativo Samba vero e proprio.
274 ------------------------------------------------------
275
276 Avendo preparato gli utenti (ancora una volta: non si dia una shell completa a un utente che serve solo per samba o la posta elettronica) e la cartella sul file system si puo' procedere a configurare la condivisione su Samba.
277
278
279 /etc/samba/smb.conf riga ~235 , Share Definitions (in vim si usi 235gg )::
280
281     [sambo_share]
282             # Percorso della cartella condivisa
283             path = /home/sambo/sambo_share
284             # Se gli utenti possono scrivere / modificare file
285             writable = yes
286             # Negoziazione degli accessi su base utenti / passwords
287             valid users = sambo
288             # Altri parametri opzionali di interesse
289             # Se posso vedere la condivisione da esplora risorse
290             # anche se non ho i privilegi per accedervi.
291             browseable = yes
292             # Commento indicativo della risorsa
293             comment = Condivisione per Sambo
294
295 Dopo aver salvato il file si puo' fare un primo controllo tramite l'utility testparm , che controlla la sintassi del file di configurazione di Samba. Se questo non rileva problemi si puo' procedere a un /etc/samba# /etc/init.d/samba restart .
296
297
298 Testare il Servizio
299 --------------------
300
301 Come testare il servizio
302
303 es::
304         
305          smbclient -U sambo -L localhost
306
307 Questo comando permette di esplorare la risorsa qualificandosi come utnete, in quresto modo potete testare il corretto funzionamento dell'autenticazione. Si provi inizialmente a sbagliare la password deliberatamente, poi a inserirla correttamente: dovrebbbero essere visibili le risorse disponibili al solo utente sambo: la suo /home e la cartella samba_share::
308
309         Sharename       Type      Comment
310         ---------       ----      -------
311         sambo_share     Disk      Condivisione per Sambo
312         print$          Disk      Printer Drivers
313         IPC$            IPC       IPC Service (base server)
314         sambo           Disk      Home Directories
315
316 In alternativa e' possibile montare realmente la condivisone anche su linux tramite un client per samba e testare il corretto funzionamento::
317
318         mount -t smbfs //localhost/sambo_share /mnt/sambo_mount/ --verbose -o user=sambo