12.11. Instellingenbestanden

12.11.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.11.2. Hostnamen

12.11.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.11.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.11.3. 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