FreeBSD handboek
Terug | Hoofdstuk 12. Instellingen en optimalisatie | Volgende

# 12.10. Instellingenbestanden

## 12.10.1. `/etc` layout

Instellingengegevens wordt in een aantal mappen bewaard. Daar zijn onder andere:

`/etc` | Generieke systeeminstellingenbestanden, specifiek voor het systeem.
`/etc/defaults` | De standaardversies van systeeminstellingenbestanden.
`/etc/mail` | Extra sendmail(8) instellingenbestanden of instellingenbestanden voor andere MTAs.
`/etc/ppp` | Instellingen voor zowel gebruiker- als kernel-ppp programma's.
`/etc/namedb` | Standaardlocatie voor named(8) gegevens. Normaal gesproken bevinden zich hier `named.conf` en zonebestanden.
`/usr/local/etc` | Instellingenbestanden voor geïnstalleerde software. Kan submappen hebben waarin bij elkaar horende instellingengegevens van een applicatie gegroepeerd zijn.
`/usr/local/etc/rc.d` | Start- en stopscripts voor geïnstalleerde diensten.
`/var/db` | Automatisch gemaakte systeemspecifieke databasebestanden, zoals de pakketdatabase, de locate(1) database, enzovoort.

## 12.10.2. Hostnamen

### 12.10.2.1. `/etc/resolv.conf`

In `/etc/resolv.conf` wordt voorgeschreven op welke wijze FreeBSD het Domain Name System (DNS) moet gebruiken.

De meest voorkomende termen in `resolv.conf` zijn:

`nameserver` | Het IP-adres van een naamserver die ondervraagd moet worden voor naam/IP-conversie. De servers worden in volgorde geprobeerd en het maximale aantal is drie.
`search` | Zoeklijst voor het opzoeken van hostnamen. Meestal wordt deze bepaald door het domein waarop de lokale hostnaam zich bevindt.
`domain` | De lokale domeinnaam.

Een typisch `resolv.conf` bestand:

    search example.com
    nameserver 147.11.1.11
    nameserver 147.11.100.30

> Opmerking: `search` en `domain` dienen niet tegelijk gebruikt te worden.

Als DHCP wordt gebruikt: dhclient(8) overschrijft meestal `resolv.conf` met informatie ontvangen van de DHCP-server.

### 12.10.2.2. `/etc/hosts`

`/etc/hosts` is een eenvoudige tekstdatabase uit de dagen van het oude Internet. Het werkt samen met DNS en NIS om namen en IP adressen over en weer te vertalen. Lokale computers, verbonden via een LAN, kunnen hier het beste in opgenomen worden om zo op simpele wijze naam/IP conversie voor een LAN te hebben, zonder noodzaak voor een named(8) server. Ook kunnen naamaliassen toegekend worden (vergelijkbaar met CNAMES bij DNS). Op soortgelijke wijze kan `/etc/hosts` gebruikt worden als een (zeer beperkte) lokale DNS cache.

    # $FreeBSD$
    #
    # Host Database
    # Dit bestand hoort de adressen en aliassen te bevatten
    # voor de lokale hosts die dit bestand gebruiken.
    # Bij gebruik van DNS of NIS hoeft dit bestand helemaal niet gebruikt
    # te worden.  Zie /etc/nsswitch.conf voor de volgorde van resolutie.
    #
    #
    ::1                      localhost localhost.my.domain myname.my.domain
    127.0.0.1                localhost localhost.my.domain myname.my.domain

    #
    # Verzonnen netwerk.
    #10.0.0.2                myname.my.domain myname
    #10.0.0.3                myfriend.my.domain myfriend
    #
    # Volgens RFC 1918 mogen de volgende IP netwerken gebruikt worden
    # als private netwerken die niet met Internet verbonden zijn:
    #
    #        10.0.0.0        -   10.255.255.255
    #        172.16.0.0      -   172.31.255.255
    #        192.168.0.0     -   192.168.255.255
    #
    # Als er toch verbinding moet zijn met Internet, zijn echte
    # officieel toegewezen nummers nodig.  Probeer ECHT GEEN eigen
    # netwerknummers te verzinnen, maar vraag ze op bij de provider
    # (als die er is) of bij de Internet Registry (ftp naar
    # rs.internic.net, map `/templates').
    #

`/etc/hosts` heeft als formaat:

    [Internet address] [official hostname] [alias1] [alias2] ...

Bijvoorbeeld:

    10.0.0.1 myRealHostname.example.com myRealHostname foobar1 foobar2

In hosts(5) staat meer informatie.

## 12.10.3. Logboekbestanden instellen

### 12.10.3.1. `syslog.conf`

`syslog.conf` is het instellingenbestand voor het programma syslogd(8). Het geeft aan welke soorten `syslog`-berichten er gelogd moeten worden en naar welke logboekbestanden, apparaten, gebruikers of machines.

    # $FreeBSD$
    #
    #        Spaties zijn TOEGESTAAN als veldscheiding in dit bestand.
    #        Maar andere *nix-achtige systemen eisen nog steeds het gebruik
    #        van tabs als veldscheiding.  Als dit bestand gedeeld wordt met
    #        andere systemen, is het verstandig alle tabs als veldscheiding
    #        te gebruiken.
    #        Zie ook de handleding van 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                                          *
    # verwijder het commentaarkarakter om alle schrijfacties naar
    # /dev/console naar /var/log/console.log te schrijven.
    #console.info                                    /var/log/console.log
    # verwijder het commentaarkarakter om alle berichten naar
    # /var/log/all.log te schrijven.
    #*.*                                             /var/log/all.log
    # # verwijder het commentaarkarakter om alle logs naar een andere
    # host in te schakelen met de naam loghost.
    #*.*                                             @loghost
    # # verwijder het commentaarkarakter als inn draait.
    # 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

In syslog.conf(5) staat meer informatie.

### 12.10.3.2. `newsyslog.conf`

`newsyslog.conf` is het instellingenbestand voor newsyslog(8), een programma dat op gezette tijden via cron(8) wordt uitgevoerd. newsyslog(8) stelt vast wanneer logboekbestanden gearchiveerd moeten worden of anderszins opnieuw gerangschikt moeten worden. `logfile` wordt hernoemd naar `logfile.0`, `logfile.0` naar `logfile.1`, enzovoort.

`newsyslog.conf` geeft aan welke logboekbestanden beheerd moeten worden, hoeveel er in archieven bewaard moeten worden en wanneer ze aangemaakt moeten worden. Logboekbestanden kunnen gereorganiseerd en/of gearchiveerd worden als ze een bepaalde grootte bereikt hebben of op een bepaald periodiek tijdstip of een bepaalde datum.

    # instellingenbestand voor 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

In newsyslog(8) staat meer informatie.

## 12.10.4. `sysctl.conf`

`sysctl.conf` lijkt veel op `rc.conf`. Waardetoekenning heeft weer de vorm `variable=value`. De ingestelde sysctl(8)-waarden worden doorgevoerd op het moment dat het systeem naar multi-user modus gaat. Niet alle variabelen kunnen in deze modus gewijzigd worden.

Om te voorkomen dat er logregels geplaatst worden als processen crashen en om te voorkomen dat andere gebruikers kunnen zien welke processen er gestart zijn door een andere gebruiker, kunnen de volgende instellingen worden gezet in `sysctl.conf`:

    #Log exits met fatale signalen niet (bv. sig 11)
    kern.logsigexit=0

    # Voorkom dat gebruikers informatie zien over processen die
    # worden gedraaid onder een ander UID.
    security.bsd.see_other_uids=0

Terug | Begin | Volgende
Virtuele hosts | Omhoog | Optimaliseren met sysctl