11.10 File di Configurazione

11.10.1 Struttura di /etc

Ci sono molte directory nelle quali vengono tenute le informazioni di configurazione. Tra queste ci sono:

/etc Informazioni generiche sulla configurazione del sistema; questi dati sono specifici del sistema.
/etc/defaults Versioni di default dei file di configurazione del sistema.
/etc/mail Configurazioni extra di sendmail(8), o file di configurazione di altri MTA.
/etc/ppp Configurazione ppp sia per i programmi a livello utente che a livello kernel.
/etc/namedb Posizione predefinita per i dati di named(8). Normalmente qui si trova named.conf insieme ai file di zona.
/usr/local/etc File di configurazione per le applicazioni installate. Può contenere sottodirectory.
/usr/local/etc/rc.d Script start/stop per i programmi installati.
/var/db File di dati specifici del sistema generati automaticamente, come il database dei package, il database di locate, e così via.

11.10.2 Nomi degli Host

11.10.2.1 /etc/resolv.conf

/etc/resolv.conf detta il modo in cui il sistema di risoluzione dei nomi di FreeBSD accede al DNS (Internet Domain Name System).

I campi più comuni in resolv.conf sono:

nameserver L'indirizzo IP di un name server al quale dovrà rivolgersi il sistema di risoluzione. I server vengono interrogati nell'ordine in cui sono elencati, fino a un massimo di tre.
search Lista di ricerca per i nomi degli host. Normalmente questo viene determinato dal dominio dell'host locale.
domain Il nome del dominio locale.

Un resolv.conf tipico:

search example.com
nameserver 147.11.1.11
nameserver 147.11.100.30

Nota: Si dovrebbe usare solo una tra le due opzioni search e domain.

Se stai usando DHCP, dhclient(8) generalmente sovrascriverà resolv.conf con le informazioni ricevute dal server DHCP.

11.10.2.2 /etc/hosts

/etc/hosts è un semplice database testuale, reminiscenza della vecchia rete Internet. Esso lavora in congiunzione con DNS e NIS fornendo una mappatura da nome a indirizzo IP. Computer locali connessi ad una LAN possono essere messi in questo file per una gestione semplice dei nomi, invece di mettere su un server named(8). Inoltre, /etc/hosts può essere usato per fornire un registro locale dei nomi di Internet, riducendo la necessità di effettuare richieste esternamente per i nomi ad accesso frequente.

# $FreeBSD$
#
# Host Database
# Questo file dovrebbe contenere gli indirizzi e gli alias
# per gli host locali che condividono questo file.
# In presenza di DNS o NIS, questo file potrebbe non essere consultato affatto;
# guarda /etc/nsswitch.conf per l'ordine di risoluzione.
#
#
::1                     localhost localhost.my.domain myname.my.domain
127.0.0.1               localhost localhost.my.domain myname.my.domain

#
# Rete immaginaria.
#10.0.0.2               myname.my.domain myname
#10.0.0.3               myfriend.my.domain myfriend
#
# In accordo all'RFC 1918, puoi usare le seguenti classi di IP per reti private
# che non verranno mai connesse ad Internet:
#
#       10.0.0.0        -   10.255.255.255
#       172.16.0.0      -   172.31.255.255
#       192.168.0.0     -   192.168.255.255
#
# In caso volessi essere in grado di collegarti ad Internet, avrai bisogno
# di veri numeri ufficiali assegnati.  PER FAVORE PER FAVORE PER FAVORE
# non tentare di inventarti i numeri della tua rete ma fattene assegnare
# uno dal tuo provider (se ne hai uno) o dall'Internet Registry (ftp su
# rs.internic.net, directory `/templates').
#

/etc/hosts accetta il semplicissimo formato:

[Indirizzo Internet ] [nome host ufficiale] [alias1] [alias2] ...

Ad esempio:

10.0.0.1 myRealHostname.example.com myRealHostname foobar1 foobar2

Consulta hosts(5) per maggiori informazioni.

11.10.3 Configurazione dei File di Log

11.10.3.1 syslog.conf

syslog.conf è il file di configurazione per il programma syslogd(8). Indica quale tipo di messaggi syslog verranno scritti su ogni file di log.

# $FreeBSD$
#
#       Gli spazi SONO validi separatori dei campi in questo file. Ad ogni modo,
#       altri sistemi *nix-like insistono ancora nell'usare tab come separatori
#       di campo. Se condividi questo file tra più sistemi, potresti
#       voler usare solo dei tab come separatori.
#       Consulta la pagina man di syslog.conf(5).
*.err;kern.debug;auth.notice;mail.crit          /dev/console
*.notice;kern.debug;lpr.info;mail.crit;news.err /var/log/messages
security.*                                      /var/log/security
mail.info                                       /var/log/maillog
lpr.info                                        /var/log/lpd-errs
cron.*                                          /var/log/cron
*.err                                           root
*.notice;news.err                               root
*.alert                                         root
*.emerg                                         *
# togli il commento a questo per loggare tutte le scritture su /dev/console
# in /var/log/console.log
#console.info                                   /var/log/console.log
# togli il commento a questo per abilitare il logging di tutti i messaggi di log
# su /var/log/all.log
#*.*                                            /var/log/all.log
# togli il commento a questo per abilitare il logging su un host remoto di nome
# loghost
#*.*                                            @loghost
# togli i commenti a questi se hai inn in funzione
# news.crit                                     /var/log/news/news.crit
# news.err                                      /var/log/news/news.err
# news.notice                                   /var/log/news/news.notice
!startslip
*.*                                             /var/log/slip.log
!ppp
*.*                                             /var/log/ppp.log

Consulta la pagina man di syslog.conf(5) per maggiori informazioni.

11.10.3.2 newsyslog.conf

newsyslog.conf è il file di configurazione di newsyslog(8), un programma che normalmente viene eseguito da cron(8). newsyslog(8) determina quando i file di log richiedono un'archiviazione o un riordinamento. logfile viene rinominato in logfile.0, logfile.0 in logfile.1 e così via. Alternativamente, i file potranno essere archiviati in formato gzip(1), e quindi diventeranno: logfile.0.gz, logfile.1.gz, e così via.

newsyslog.conf indica quali file di log devono essere gestiti, quanti devono essere mantenuti, e quando devono essere toccati. I file di log possono essere riordinati e/o archiviati quando raggiungono una certa dimensione, o a una certa data/ora periodica.

# file di configurazione per newsyslog
# $FreeBSD$
#
# filename          [owner:group]    mode count size when [ZB] [/pid_file] [sig_num]
/var/log/cron                           600  3     100  *     Z
/var/log/amd.log                        644  7     100  *     Z
/var/log/kerberos.log                   644  7     100  *     Z
/var/log/lpd-errs                       644  7     100  *     Z
/var/log/maillog                        644  7     *    @T00  Z
/var/log/sendmail.st                    644  10    *    168   B
/var/log/messages                       644  5     100  *     Z
/var/log/all.log                        600  7     *    @T00  Z
/var/log/slip.log                       600  3     100  *     Z
/var/log/ppp.log                        600  3     100  *     Z
/var/log/security                       600  10    100  *     Z
/var/log/wtmp                           644  3     *    @01T05 B
/var/log/daily.log                      640  7     *    @T00  Z
/var/log/weekly.log                     640  5     1    $W6D0 Z
/var/log/monthly.log                    640  12    *    $M1D0 Z
/var/log/console.log                    640  5     100  *     Z

Consulta la pagina man di newsyslog(8) per maggiori informazioni.

11.10.4 sysctl.conf

sysctl.conf assomiglia molto a rc.conf. I valori vengono impostati nella forma variabile=valore. I valori specificati vengono impostati dopo che il sistema è entrato in modalità multiutente. Non tutte le variabili sono gestibili in questo modo.

Per disabilitare il log sulle uscite dei processi per segnale fatale ed impedire agli utenti di vedere che i processi sono avviati con altre utenze, puoi settare in sysctl.conf la riga seguente:

# Do not log fatal signal exits (e.g. sig 11)
kern.logsigexit=0

# Prevent users from seeing information about processes that
# are being run under another UID.
security.bsd.see_other_uids=0

Questo, ed altri documenti, possono essere scaricati da ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Per domande su FreeBSD, leggi la documentazione prima di contattare <[email protected]>.
Per domande su questa documentazione, invia una e-mail a <[email protected]>.