diff --git a/nl_NL.ISO8859-1/Makefile b/nl_NL.ISO8859-1/Makefile index 474c52dafb..981c10785b 100644 --- a/nl_NL.ISO8859-1/Makefile +++ b/nl_NL.ISO8859-1/Makefile @@ -1,9 +1,13 @@ # $FreeBSD$ +# +# %SOURCE% en_US.ISO8859-1/Makefile +# %SRCID% 1.7 +# -SUBDIR = books -SUBDIR+= articles +SUBDIR = articles +SUBDIR+= books COMPAT_SYMLINK = nl DOC_PREFIX?= ${.CURDIR}/.. .include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/nl_NL.ISO8859-1/articles/contributing-ports/Makefile b/nl_NL.ISO8859-1/articles/contributing-ports/Makefile index 21748c47db..433aa61b43 100644 --- a/nl_NL.ISO8859-1/articles/contributing-ports/Makefile +++ b/nl_NL.ISO8859-1/articles/contributing-ports/Makefile @@ -1,19 +1,22 @@ # -# $FreeBSD: $ +# $FreeBSD$ +# +# %SOURCE% en_US.ISO8859-1/articles/contributing-ports/Makefile +# %SRCID% 1.1 # # Article: Contributing to the FreeBSD Ports Collection DOC?= article FORMATS?= html WITH_ARTICLE_TOC?= YES INSTALL_COMPRESSED?=gz INSTALL_ONLY_COMPRESSED?= SRCS= article.sgml URL_RELPREFIX?= ../../../.. DOC_PREFIX?= ${.CURDIR}/../../.. .include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/nl_NL.ISO8859-1/articles/contributing-ports/article.sgml b/nl_NL.ISO8859-1/articles/contributing-ports/article.sgml index fa76b264f7..0efedd9d73 100644 --- a/nl_NL.ISO8859-1/articles/contributing-ports/article.sgml +++ b/nl_NL.ISO8859-1/articles/contributing-ports/article.sgml @@ -1,875 +1,875 @@ %articles.ent; ]>
Bijdragen aan de &os; Portscollectie Abstract Dit artikel beschrijft de manieren waarop een individu kan bijdragen aan de &os; Portscollectie. Vertaald door René Ladan. Sam Lawrance Mark Linimon &tm-attrib.freebsd; &tm-attrib.general; bijdragen aan ports Introductie De Portscollectie is een eeuwig werk-in-uitvoering. We willen onze gebruikers een reservoir van software van derde partijen bieden dat gemakkelijk te gebruiken, bijgewerkt, en van hoge kwaliteit is. We hebben mensen nodig die wat tijd en moeite investeren om ons dit doel te helpen bereiken. Iedereen kan erin betrokken raken, en er zijn vele manieren om dat te doen. Bijdragen aan ports is een uitstekende manier om te helpen om iets aan het project "terug te geven". Of u nu op zoek bent naar een blijvende rol, of naar een uitdaging voor een regenachtige dag, wij stellen uw hulp zeer op prijs! Als een vrijwilliger kunt u doen en laten wat u wilt. We vragen echter wel dat u op de hoogte bent van wat andere leden van de &os;-gemeenschap van u verwachten. U doet er goed aan om dit te overwegen voordat u besluit om vrijwilliger te worden. Wat u kunt doen om te helpen Er zijn een aantal gemakkelijke manieren waarop u bij kunt dragen om de portsboom actueel en in een goede toestand te houden: Zoek wat leuke of nuttige software en creëer er een port voor. Er is een groot aantal niet-onderhouden ports. Wordt een onderhouder en adopteer een port. Als u een port gecreëerd of geadopteerd heeft, dient u op de hoogte te zijn van wat u als onderhouder moet doen. Als u op zoek bent naar een snelle uitdaging zou u een bug of een kapotte port kunnen repareren. Een nieuwe port creëeren Er is een apart document beschikbaar om u door het creëeren (en bijwerken) van een port te loodsen genaamd het Porter's Handbook. Het Porter's Handbook is het beste naslagwerk wat betreft het werken met het portssysteem. Het noemt details over hoe het portssysteem werkt en bespreekt aangeraden praktijken. Een niet-onderhouden port adopteren Een niet-onderhouden port kiezen Het beheer overnemen van ports die niet onderhouden worden is een uitstekende manier om betrokken te raken. Niet-onderhouden ports worden alleen bijgewerkt en gerepareerd wanneer iemand zich aanbiedt om eraan te werken. Er is een groot aantal ports dat niet onderhouden wordt. Het is een goed idee om met het adopteren van een port te beginnen die u regelmatig gebruikt. Voor niet-onderhouden ports staat de MAINTAINER op ports@FreeBSD.org. Een lijst van ports die niet onderhouden wordt en hun huidige fouten en probleemrapporten kan worden bekeken op het &os; Ports Monitoring System. Sommige ports beïnvloeden een groot aantal anderen vanwege afhankelijkheden en relaties als slaafport. Over het algemeen wensen we dat mensen wat ervaring hebben voordat ze zulke ports onderhouden. U kunt uitzoeken of een port wel of geen afhankelijkheden of slaafpoorten heeft door in een hoofdindex van ports genaamd INDEX te kijken. (De naam van het bestand varieert naar gelang de uitgave van &os;; bijvoorbeeld INDEX-6.) Sommige ports hebben conditionele afhankelijkheden die niet standaard in een bouw van INDEX worden opgenomen. We verwachten dat u zulke ports kunt herkennen door naar de Makefile van andere ports te kijken. Hoe een port te adopteren Zorg eerst dat u uw verantwoordelijkheden als onderhouder begrijpt. Lees ook het Porter's Handbook. Neem alstublieft niet meer werk op u dan dat u op een comfortabele manier aankunt. U kunt zo snel als u wilt het beheer van een niet-onderhouden port aanvragen. Stel MAINTAINER in op uw emailadres en stuur een PR (probleemrapport) in met de verandering. Als de port bouwfouten bevat of moet worden bijgewerkt, dan kunt u deze veranderingen in hetzelfde PR opnemen. Dit helpt omdat veel committers minder bereid zijn om beheer aan iemand toe te kennen die geen bekende geschiedenis met &os; heeft. Het insturen van PR's die bouwfouten repareren of ports bijwerken zijn de beste manier om er een op te bouwen. Stuur uw PR in met categorie ports en klasse change-request. Een committer zal uw PR nakijken, de veranderingen committen, en uiteindelijk het PR sluiten. Soms kan dit proces even duren (committers zijn ook vrijwilligers). De uitdaging voor port-onderhouders Deze sectie geeft u een idee waarom ports onderhouden moeten worden en schetst de verantwoordelijkheden van een onderhouder van een port. Waarom ports onderhoud nodig hebben Een port creëeren is een eenmalige taak. Er zeker van zijn dat een port actueel is en blijvend te bouwen en draaien is is een voortdurende inspanning. Onderhouders zijn mensen die wat van hun tijd wijden aan het vervullen van deze doelen. De voornaamste reden waarom ports onderhoud nodig hebben is om het nieuwste en beste van software van derde partijen aan de &os;-gemeenschap te geven. Een aanvullende uitdaging is om individuele ports werkend te houden binnen het evoluerende raamwerk van de Portscollectie. Als onderhouder zult u de volgende uitdagingen moeten aangaan: Nieuwe versies en updates van software. Nieuwe versies en updates van bestaande geporteerde software komen continu beschikbaar, en moeten in de Portscollectie worden verwerkt om actuele software aan te bieden. Veranderingen aan afhankelijkheden. Als er significante wijzigingen zijn gemaakt aan de afhankelijkheden van uw port, kan het zijn dat de port moet worden bijgewerkt zodat het correct blijft werken. Veranderingen die afhankelijke ports beïnvloeden. Als andere ports afhankelijk zijn van een port die u onderhoudt, kan het zijn om veranderingen aan uw port met andere onderhouders te coördineren. Interactie met andere gebruikers, onderhouders, en ontwikkelaars. Een gedeelte van een onderhouder zijn is het vervullen van een ondersteunende rol. Er wordt niet van u verwacht dat u algemene ondersteuning biedt (maar we juichen het toe als u dat doet). U dient een centraal punt voor &os;-specifieke zaken met betrekking tot uw ports te bieden. Bugs oplossen. Een port kan vatbaar zijn voor bugs die specifiek zijn voor &os;. U dient deze bugs te onderzoeken en te repareren wanneer ze worden gerapporteerd. Het grondig testen van een port om problemen te identificeren voordat ze in de Portscollectie terechtkomen is nog beter. Veranderingen aan portsinfrastructuur en beleid. Af en toe worden die systemen die gebruikt worden om ports en pakketten te bouwen bijgewerkt of wordt er een nieuwe aanbeveling met betrekking tot de infrastructuur gemaakt. U dient van deze veranderingen op de hoogte te zijn indien ze betrekking hebben op uw ports en ze bijgewerkt moeten worden. Veranderingen aan het basissysteem. &os; is constant in ontwikkeling. Veranderingen aan software, bibliotheken, de kernel, of zelfs beleidsveranderingen kunnen noodzakelijke veranderingen aan ports veroorzaken. Verantwoordelijkheden als onderhouder Houd uw ports actueel Deze sectie schetst het proces dat gevolgd wordt om uw ports actueel te houden. Dit is een overzicht. Meer informatie over het bijwerken van een port is beschikbaar in het Porter's Handbook. Kijk uit naar updates Houd de stroomopwaartse leverancier in de gaten wat betreft nieuwe versies, updates, en beveiligingsreparaties voor de software. Mailinglijsten met aankondigingen of webpagina's met nieuws zijn hiervoor handig. Soms zullen gebruikers contact met u opnemen en vragen wanneer uw port wordt bijgewerkt. Als u het druk hebt met andere dingen of u het om enige andere reden niet nu kunt bijwerken, vraag ze dan om u te helpen door een update te sturen. U kunt ook geautomatiseerde email van de &os; Ports Version Check ontvangen die u informeert of er een nieuwe versie van het distributiebestand van uw port beschikbaar is. Meer informatie over dat systeem (inclusief hoe toekomstige emails te stoppen) staat in het bericht. Verwerk veranderingen Verwerk veranderingen in de port wanneer ze beschikbaar komen. U dient een patch aan te kunnen maken tussen de originele port en uw bijgewerkte port. Herzie en test Herzie en test uw veranderingen grondig: Bouw, installeer, en test uw port op zoveel mogelijk platforms en architecturen. Het is gebruikelijk dat een port op één tak of platform werkt maar faalt op een ander. Zorg dat de afhankelijkheden van uw port compleet zijn. De aangeraden manier om dit te doen is door uw eigen tinderbox voor ports te installeren. Bekijk bronnen voor meer informatie. Controleer of de pakketlijst actueel is. Dit omvat het toevoegen van nieuwe bestanden en mappen en het verwijderen van ongebruikte regels. Verifieer uw port met &man.portlint.1; als gids. Bekijk bronnen voor belangrijke informatie over het gebruik van portlint. Overweeg of veranderingen aan uw port andere ports zouden kunnen kapotmaken. Bespreek de veranderingen met de onderhouders van die ports als dit het geval is. Dit is speciaal van belang als uw update de versie van de gedeelde bibliotheek verandert; in dit geval dienen de afhankelijke ports minstens een verhoging van de PORTREVISION te krijgen zodat ze automatisch worden bijgewerkt door geautomatiseerde gereedschappen als &man.portupgrade.1;. Stuur veranderingen in Verzend uw update door een PR met een uitleg van de veranderingen en een patch die de verschillen tussen de originele port en de bijgewerkte port bevat in te sturen. Bekijk alstublieft Probleemrapporten voor &os; schrijven voor informatie over hoe een echt goed PR te schrijven. Stuur alstublieft geen &man.shar.1;-archief van de gehele port; gebruik in plaats daarvan &man.diff.1; -r. Op deze manier kunnen committers veel gemakkelijker zien welke veranderingen er precies gemaakt worden. De sectie in het Porter's Handbook over Upgrading bevat meer informatie hierover. Wacht Op een gegeven moment zal een committer uw PR behandelen. Dit kan minuten, maar ook weken duren - dus ben alstublieft geduldig. Geef feedback Als een committer een probleem vindt in uw veranderingen zullen ze het waarschijnlijk aan u terugkoppelen. Een snel antwoord helpt om uw PR sneller gecommit te krijgen, en is beter voor het behouden van een discussie wanneer er geprobeerd wordt om problemen op te lossen. En ten slotte Uw veranderingen zullen gecommit worden en uw port zal bijgewerkt zijn. Het PR wordt vervolgens door de committer gesloten. Dat is alles! Zorg ervoor dat uw ports correct blijven bouwen Deze sectie gaat over het ontdekken en oplossen van problemen die verhinderen dat uw ports correct bouwen. &os; garandeert alleen dat de Portscollectie op de -STABLE-takken werkt. U dient 5-STABLE of 6-STABLE te draaien, bij voorkeur de laatste. In theorie zou het voldoende moeten zijn om de nieuwste uitgave van elke STABLE-tak te draaien (aangezien de ABI's niet horen te veranderen), maar als u die tak kunt draaien is dat beter. Aangezien de meerderheid van &os;-installaties op PC-compatibele machines draait (wat wordt aangeduid als de i386-architectuur), verwachten wij van u dat u de port op die architectuur werkend houdt. Omdat echter steeds meer mensen de amd64-architectuur als zodanig gaan draaien, wordt het steeds belangrijker om er voor te zorgen dat ports daarop ook draaien. Het is prima om om hulp te vragen als u een van deze machines niet heeft. De gebruikelijke manieren om te falen voor niet-i386 machines zijn dat de originele programmeurs aannamen dat, bijvoorbeeld, pointers ints zijn of dat de relatief lakse compiler gcc 2.95 werd gebruikt. Steeds meer reorganiseren applicatie-auteurs hun code om deze aannames te verwijderen — maar als de auteur de code niet actief onderhoudt, zult u dit zelf moeten doen. Deze taken moet u uitvoeren om ervoor te zorgen dat uw port gebouwd kan worden: Kijk uit naar bouwfouten Controleer regelmatig het geautomatiseerde portbouwcluster, pointyhat, en het overzicht van distributiebestanden om te zien of er ports zijn die u onderhoudt die er niet in slagen om gebouwd of opgehaald te worden (bekijk bronnen voor meer informatie over deze systemen). Rapportages over mislukkingen kunnen ook via email van andere gebruikers of geautomatiseerde systemen tot u komen. Verzamel informatie Als u eenmaal op de hoogte bent van een probleem, verzamel dan informatie die u helpt het op te lossen. Bouwfouten die door pointyhat worden gerapporteerd worden vergezeld door logs die aangeven waar het bouwen mislukte. Als de mislukking door een gebruiker aan u werd gerapporteerd, vraag ze dan om informatie te verzenden die u helpt om het probleem te vast te stellen, zoals: Bouwlogs De commando's en opties die gebruikt werden om de port te bouwen (inclusief opties die in /etc/make.conf zijn ingesteld) Een lijst met op hun systeem geïnstalleerde pakketten als aangegeven door &man.pkg.info.1; De versie van &os; die ze draaien als aangegeven door &man.uname.1; -a Wanneer hun Portscollectie voor het laatst was bijgewerkt Wanneer hun bestand INDEX voor het laatst was bijgewerkt Onderzoek en zoek een oplossing Helaas is er geen rechttoe-rechtaan proces dat gevolgd kan worden om dit te doen. Herinner: vraag om hulp als u vast zit! De &a.ports; is een goede plaats om te starten, en de stroomopwaartse ontwikkelaars zijn vaak zeer behulpzaam. Stuur veranderingen in Net zoals bij het bijwerken van een port, dient u nu de veranderingen te integreren, te herzien en te testen, uw veranderingen als een PR in te sturen, en feedback te geven als dat nodig is. Stuur patches naar de stroomopwaartse auteurs In sommige gevallen moet u patches maken om de port op &os; te laten draaien. Sommige (maar niet alle) stroomopwaartse auteurs zullen zulke patches in hun code accepteren voor de volgende uitgave. Als dit zo is, kan dit zelfs hun gebruikers op andere op BSD-gebaseerde systemen helpen en misschien dubbel werk besparen. Overweeg alstublieft om geschikte patches naar de auteurs te zenden als teken van goede wil. Onderzoek foutrapporten en PR's die aan uw port gerelateerd zijn Deze sectie gaat over het ontdekken en repareren van bugs. &os;-specifieke bugs worden in het algemeen veroorzaakt door aannames over de bouw- en draaiomgevingen die niet voor &os; gelden. U zult zo'n soort fout minder snel aantreffen, maar het kan subtieler en moeilijker zijn om het vast te stellen. De onderstaande taken moet u uitvoeren om ervoor te zorgen dat uw port als bedoeld blijft werken: Reageer op bugrapporten Bugs kunnen per email via de GNATS Probleemrapportendatabase aan u worden gerapporteerd. Bugs kunnen ook direct door gebruikers aan u gerapporteerd worden. U dient binnen 14 dagen op PR's en andere rapporten te reageren, probeer hier alstublieft niet zo lang over te doen. Probeer zo snel mogelijk te reageren, zelfs als het alleen maar is om te zeggen dat u wat meer tijd nodig heeft voordat u aan het PR kan werken. Verzamel informatie Als degene die de bug heeft gerapporteerd niet ook een reparatie heeft aangeleverd, zult u informatie moeten verzamelen die u in staat stelt om er een te genereren. Als de bug reproduceerbaar is, kunt u zelf de meeste vereiste informatie verzamelen. Zo niet, vraag dan degene die de bug rapporteerde om de informatie voor u te verzamelen, zoals: Een gedetailleerde beschrijving van hun acties, verwacht gedrag en eigenlijk gedrag van het programma Kopiën van invoergegevens die de bug aanzwengelden Informatie over hun bouw- en uitvoeromgeving - bijvoorbeeld een lijst van geïnstalleerde pakketten en de uitvoer van &man.env.1; Coredumps Stacktraces Elimineer onjuiste rapporten Sommige bugrapporten kunnen onjuist zijn. De gebruiker kan het programma simpelweg verkeerd gebruikt hebben; of hun geïnstalleerde pakketten kunnen verouderd zijn en bijgewerkt moeten worden. Soms is een gerapporteerde fout niet specifiek voor &os;. Rapporteer in dit geval de bug naar de stroomopwaartse ontwikkelaars. Als u de bug kunt repareren, kunt u de port ook patchen zodat de reparatie is toegepast voor de volgende stroomopwaartse uitgave. Vind een oplossing Net als met bouwfouten dient u een oplossing voor het probleem te vinden. Nogmaals, vraag om hulp als u vastzit! Stuur veranderingen in of keur ze goed Net als bij het bijwerken van een port, dient u nu de veranderingen te integreren, ze te herzien en te testen, en ze in een PR op te sturen (of een vervolg te verzenden als er al een PR voor het probleem bestaat). Als een andere gebruiker veranderingen in het PR heeft ingezonden, kunt u ook een vervolg sturen waarin u zegt of u de veranderingen wel of niet goedkeurt. Ondersteuning bieden Deel van een onderhouder zijn is ondersteuning bieden — niet noodzakelijk voor de software in het algemeen — maar voor de port en alle &os;-specifieke rariteiten en problemen. Gebruikers kunnen contact met u opnemen voor vragen, suggesties, problemen, en patches. Meestal zal hun correspondentie specifiek voor &os; zijn. Af en toe zult u uw diplomatieke vaardigheden moeten gebruiken, en gebruikers die algemene ondersteuning zoeken vriendelijk naar de geschikte bronnen verwijzen. Minder vaak zult u iemand tegenkomen die vraagt waarom de RPMs niet actueel zijn of hoe ze de software onder Foo Linux kunnen draaien. Grijp deze kans om ze te vertellen dat uw port actueel is (als het dat is, uiteraard!) en stel voor dat ze &os; uitproberen. Soms zullen gebruikers en ontwikkelaars besluiten dat u een druk persoon bent wiens tijd waardevol is en wat werk van u overnemen. Ze kunnen bijvoorbeeld: een PR insturen of u patches toesturen om uw port bij te werken, een PR onderzoeken en er misschien een reparatie voor aanleveren, of op andere wijze veranderen aan uw port insturen. In deze gevallen is uw hoofdplicht om op tijd te reageren. De timeout voor niet-reagerende onderhouders is 14 dagen. Na deze periode mogen niet-goedgekeurde veranderingen gecommit worden. Ze hebben de moeite genomen om dit voor u te doen; dus probeer tenminste op tijd te reageren. Daarna dient u zo snel mogelijk hun veranderingen te herzien, goed te keuren, te wijzigen, of met hen te bediscussiëren. Als u ervoor kunt zorgen dat ze het gevoel hebben dat hun bijdrage gewaardeerd wordt (wat zo hoort te zijn), dan heeft u een grotere kans om ze te overtuigen om in de toekomst meer voor u te doen :-). Een kapotte port vinden en repareren Er zijn twee zeer goede plaatsen om een port te vinden die wat aandacht nodig heeft. U kunt de webinterface voor de probleemrapportdatabase gebruiken om onopgeloste PR's te doorzoeken en ze te bekijken. De meerderheid van port-PR's zijn updates, maar met een beetje zoeken door en uitkammen van de samenvattingen zou u iets moeten kunnen vinden wat interessant is om aan te werken (de klasse sw-bug is een goede plaats om te beginnen). De andere plaats is het &os; Ports Monitoring System. Zoek in het bijzonder naar niet-onderhouden ports met bouwfouten en ports die als BROKEN zijn gemerkt. Het is ook goed om veranderingen voor een onderhouden port te versturen, maar denk eraan om de onderhouder te vragen in het geval dat ze al aan het probleem werken. Als u eenmaal een bug of probleem heeft gevonden, verzamel dan informatie, onderzoek, en repareer het! Als er een bestaand PR is, ga daar dan mee verder. Maak anders een nieuw PR aan. Uw veranderingen zullen worden herzien en, als alles goed is, gecommit. Wanneer het tijd wordt om te stoppen Wanneer uw interesses en toewijdingen veranderen, zult u erachter komen dat u niet langer tijd heeft om sommige van (of al) uw ports-bijdragen voort te zetten. Dat is prima! Laat ons weten als u een port niet langer gebruikt of om andere redenen de tijd of interesse heeft verloren om ports te onderhouden. Op deze manier kunnen we verder gaan en andere mensen toestaan om te proberen om aan bestaande problemen met de port te werken zonder op uw antwoord te wachten. Herinner dat &os; een vrijwilligersproject is, dus als het onderhouden van een port niet langer leuk is, is het waarschijnlijk tijd om iemand anders het te laten doen! In elk geval houdt het Ports Management Team (portmgr) zich het recht voor om u als onderhouder te wissen als u uw port voor enige tijd niet actief heeft onderhouden. (Momenteel is dit 3 maanden.) Hiermee bedoelen we dat er onopgeloste problemen of wachtende updates zijn waaraan binnen die tijd niet gewerkt is. Bronnen voor onderhouders en vrijwilligers voor ports Het Porter's Handbook is uw overlevingsgids voor het portssysteem. Houd het in de buurt! Probleemrapporten voor &os; schrijven beschrijft hoe het beste een PR geformuleerd en ingezonden kan worden. In 2005 werden er meer dan elfduizend port-PR's ingestuurd! Het volgen van dit artikel helpt ons enorm om de tijd te verkorten die nodig is om uw PR's te behandelen. De Probleemrapportendatabase. Pointyhat is het bouwcluster voor ports. U kunt Pointyhat gebruiken om bouwlogs van ports over alle architecturen en grote uitgaven te controleren. Het &os; Ports Monitoring System kan u kruislingse informatie over ports zoals bouwfouten en probleemrapporten laten zien. Als u een onderhouder bent kunt u het gebruiken om de bouwstatus van uw ports te controleren. Als een vrijwilliger kunt u het gebruiken om kapotte en niet-onderhouden ports te vinden die gerepareerd moeten worden. Bill Fenners overzicht van distributiebestanden kan u ports laten zien waarvoor de distributiebestanden niet kunnen worden opgehaald. U kunt uw eigen ports controleren of u kunt het gebruiken om ports te vinden waarvan de MASTER_SITES moet worden bijwerkt. De tinderbox voor ports is de meest grondige manier om een port door de gehele cyclus van installatie, inpakken, en deïnstallatie te halen. Het biedt een opdrachtregelinterface maar kan ook via een webinterface worden beheerd. Meer informatie staat op de marcuscom tinderbox homepage. &man.portlint.1; is een applicatie die gebruikt kan worden om te verifiëren dat uw port zich aan vele belangrijke stilistische en functionele richtlijnen houdt. portlint is een eenvoudige heuristieke applicatie, dus dient u het alleen als gids te gebruiken. Als portlint veranderingen voorstelt die onredelijk lijken, raadpleeg dan het Porter's Handbook of vraag om advies. De &a.ports; dient voor algemene ports-gerelateerde discussies. Het is een goede plaats om om hulp te vragen. U kunt zich aanmelden, of de lijstarchieven lezen en doorzoeken. Het lezen van de archieven van de &a.ports-bugs; en de &a.cvs-ports; kan ook interessant zijn.
diff --git a/nl_NL.ISO8859-1/articles/explaining-bsd/Makefile b/nl_NL.ISO8859-1/articles/explaining-bsd/Makefile index e0728a0215..8307e7198a 100644 --- a/nl_NL.ISO8859-1/articles/explaining-bsd/Makefile +++ b/nl_NL.ISO8859-1/articles/explaining-bsd/Makefile @@ -1,21 +1,22 @@ # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/articles/explaining-bsd/Makefile +# %SRCID% 1.6 +# # Article: Explaining BSD -MAINTAINER=grog@FreeBSD.org - DOC?= article FORMATS?= html WITH_ARTICLE_TOC?= YES INSTALL_COMPRESSED?= gz INSTALL_ONLY_COMPRESSED?= SRCS= article.sgml URL_RELPREFIX?= ../../../.. DOC_PREFIX?= ${.CURDIR}/../../.. .include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/nl_NL.ISO8859-1/articles/problem-reports/Makefile b/nl_NL.ISO8859-1/articles/problem-reports/Makefile index 081f20e0f8..75ae60912a 100644 --- a/nl_NL.ISO8859-1/articles/problem-reports/Makefile +++ b/nl_NL.ISO8859-1/articles/problem-reports/Makefile @@ -1,19 +1,22 @@ # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/articles/problem-reports/Makefile +# %SRCID% 1.6 +# # Article: Writing FreeBSD Problem Reports DOC?= article FORMATS?= html WITH_ARTICLE_TOC?= YES INSTALL_COMPRESSED?=gz INSTALL_ONLY_COMPRESSED?= SRCS= article.sgml URL_RELPREFIX?= ../../../.. DOC_PREFIX?= ${.CURDIR}/../../.. .include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/nl_NL.ISO8859-1/books/Makefile b/nl_NL.ISO8859-1/books/Makefile index a3820ec805..494259c8bf 100644 --- a/nl_NL.ISO8859-1/books/Makefile +++ b/nl_NL.ISO8859-1/books/Makefile @@ -1,8 +1,12 @@ # $FreeBSD$ +# +# %SOURCE% en_US.ISO8859-1/books/Makefile +# %SRCID% 1.14 +# SUBDIR = handbook ROOT_SYMLINKS= handbook DOC_PREFIX?= ${.CURDIR}/../.. .include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/nl_NL.ISO8859-1/books/Makefile.inc b/nl_NL.ISO8859-1/books/Makefile.inc index 3ed2a73554..c505338370 100644 --- a/nl_NL.ISO8859-1/books/Makefile.inc +++ b/nl_NL.ISO8859-1/books/Makefile.inc @@ -1,5 +1,8 @@ # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/Makefile.inc +# %SRCID% 1.4 +# DESTDIR?= ${DOCDIR}/nl_NL.ISO8859-1/books/${.CURDIR:T} diff --git a/nl_NL.ISO8859-1/books/handbook/advanced-networking/Makefile b/nl_NL.ISO8859-1/books/handbook/advanced-networking/Makefile index eb62e4335c..a80aba7f19 100644 --- a/nl_NL.ISO8859-1/books/handbook/advanced-networking/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/advanced-networking/Makefile @@ -1,15 +1,18 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/handbook/advanced-networking/Makefile +# %SRCID% 1.2 +# CHAPTERS= advanced-networking/chapter.sgml VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/audit/Makefile b/nl_NL.ISO8859-1/books/handbook/audit/Makefile index 84cb9b04ee..7e0963fe95 100644 --- a/nl_NL.ISO8859-1/books/handbook/audit/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/audit/Makefile @@ -1,15 +1,18 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/handbook/audit/Makefile +# %SRCID% 1.1 +# CHAPTERS= audit/chapter.sgml VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/audit/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/audit/chapter.sgml index a49b1873dc..7cab860e53 100644 --- a/nl_NL.ISO8859-1/books/handbook/audit/chapter.sgml +++ b/nl_NL.ISO8859-1/books/handbook/audit/chapter.sgml @@ -1,793 +1,795 @@ Tom Rhodes Geschreven door Robert Watson Remko Lodder Vertaald door Security Event Auditing Overzicht AUDIT Security Event Auditing MAC &os; 6.2 en later heeft ondersteuning voor diepgaande beveiligingsauditing van evenementen. Evenement auditing maakt het mogelijk dat er diepgaande en configureerbare logging van een variateit aan beveiligings-gerelateerde systeem evenementen, waaronder logins, configuratie wijzigingen, bestands- en netwerk toegang. Deze log regels kunnen erg belangrijk zijn voor live systeem monitoring, intrusion detection en postmortem analyse. &os; implementeert &sun;'s gepubliceerde BSM API en bestandsformaat en is uitwisselbaar met zowel &sun;'s &solaris; als &apple;'s &macos; X audit implementaties. Dit hoofdstuk richt zich op de installatie en configuratie van evenement auditing. Het legt audit policies uit en geeft voorbeelden van audit configuraties. Na het lezen van dit hoofdstuk weet de lezer: Wat evenement auditing is en hoe het werkt. Hoe evenement auditing geconfigureerd kan worden voor &os; voor gebruikers en processen. Hoe de audittrail bekeken kan worden door gebruik te maken van de audit reduction en onderzoek programma's. Voordat verder gegaan wordt moet het volgende bekend zijn: &unix; en &os; basishandelingen begrijpen (). Bekend zijn met de basishandelingen van kernel configuratie/compilatie (). Bekend zijn met beveiliging en hoe dat relateert aan &os; (). De audit faciliteiten in &os; 6.X zijn experimenteel en het gebruik in productie mag alleen gebeuren na zorgvuldig onderzoek van de risico's van het in gebruik nemen van experimentele software. Bekende limitaties zijn dat niet alle beveiligings-relevante systeem evenementen geaudit kunnen worden en dat sommige login mechanismes, zoals X11 gebaseerde display managers en derde partij programma's geen (goede) ondersteuning bieden voor het auditen login sessies van gebruikers. De beveiligings evenement auditing faciliteit is in staat om erg gedetailleerde logs van systeem activiteiten op een druk systeem te genereren, trail bestands data kan erg groot worden wanneer er erg precieze details worden gevraagd, wat enkele gigabytes per week kan behalen in sommige configuraties. Beheerders moeten rekening houden met voldoende schijfruimte voor grote audit configuraties. Bijvoorbeeld het kan gewenst zijn om eigen bestandsysteem aan /var/audit toe te wijzen zo dat andere bestandssystemen geen hinder ondervinden als het audit bestandssysteem onverhoopt vol raakt. Sleutelwoorden in dit hoofdstuk Voordat dit hoofdstuk gelezen kan worden, moeten er een aantal audit gerelateerde termen uitgelegd worden: evenement: Een auditbaar evenement is elk evenement dat gelogged kan worden door het audit subsysteem. Voorbeelden van beveiligings gerelateerde evenementen zijn het creëeren van een bestand, het opzetten van een netwerk verbinding, of van een gebruiker die aanlogt. Evenementen zijn ofwel attributable wat betekend dat ze getraceerd kunnen worden naar een geauthoriseerde gebruiker, of non-attributable voor situaties waarin dat niet mogelijk is. Voorbeelden van non-attributable evenementen zijn elk evenement dat gebeurd voordat authorisatie plaatsvind in het login proces, zoals bij foutieve inlog pogingen. class: Evenement klassen zijn benoemde sets van gerelateerde evenementen en worden gebruikt in selectie expressies. Veel gebruikte klassen van evenementen zijn bestands creatie (fc), exec (ex) en login_logout (lo). record: Een record is een audit log regel die het beveiligings evenement beschrijft. Records bevatten een record evenement type, informatie over het onderwerp (de gebruiker) welke de actie uitvoerd, de datum en de tijd, informatie over de objecten of argumenten, en een conditie die aangeeft of de actie geslaagd of mislukt is. trail: Een audit trail, of log bestand bestaat uit een serie van audit records welke beveiligings evenementen beschrijft. Meestal lopen deze trails in chronologische orde, gebaseerd op de tijd dat het evenement optrad. Alleen geauthoriseerde processen mogen records toevoegen aan de audit trail. selection expression: Een selectie expressie is een string welke een lijst bevat van prefixes en audit evenement klasse namen die overeenkomen met evenementen. preselection: Het proces waarbij het systeem bepaald welke evenementen interessant zijn voor de beheerder, zodat wordt voorkomen dat er audit records worden gegenereerd voor evenementen die niet interessant zijn. De preselection configuratie gebruikt een serie van selectie expressies om te identificeren welke klassen van evenementen van toepassing zijn op gebruikers en globale instellingen voor zowel geauthoriseerde als ongeauthoriseerde processen. reduction: Het proces waarbij records van bestaande audit trails worden geselecteerd voor bewaring, uitprinten of analyse. Ook is dit het proces waarbij ongewenste audit records worden verwijderd uit het audit trail. Door gebruik te maken van reduction kunnen beheerders policies implementeren die het bewaren van audit data verzorgen. Bijvoorbeeld gedetailleerde audit trails kunnen één maand bewaard worden maar erna worden trails gereduceerd zodat alleen login informatie bewaard worden voor archiverings redenen. Installeren van audit ondersteuning. Ondersteuning in de gebruikersomgeving voor evenement auditing wordt geïnstalleerd als onderdeel van het basis &os; besturings systeem. In &os; 7.0 en later wordt kernel ondersteuning voor evenement auditing standaard meegenomen tijdens compilatie. In &os; 6.X, moet ondersteuning expliciet in de kernel gecompileerd worden door de volgende regel toe te voegen aan het kernel configuratie bestand: options AUDIT Bouw en herinstalleer de kernel volgens het normale proces zoals beschreven in . Zodra een audit ondersteunende kernel is gebouwd en geïnstalleerd en deze is opgestart kan de audit daemon aangezet worden door de volgende regel aan &man.rc.conf.5; toe te voegen: auditd_enable="YES" Audit ondersteuning moet daarna aangezet worden door een herstart van het systeem of door het handmatig starten van de audit daemon: /etc/rc.d/auditd start Audit Configuratie Alle configuratie bestanden voor beveiligings audit kunnen worden gevonden in /etc/security. De volgende bestanden moeten aanwezig zijn voor de audit daemon wordt gestart: audit_class - Bevat de definities van de audit klasses. audit_control - Controleert aspecten van het audit subsysteem, zoals de standaard audit klassen, minimale hoeveelheid diskruimte die moet overblijven op de audit log schijf, de maximale audit trail grootte, etc. audit_event - Tekst namen en beschrijvingen van systeem audit evenementen, evenals een lijst van klassen waarin elk evenement zich bevind. audit_user - Gebruiker specifieke audit benodigdheden welke gecombineerd worden met de globale standaarden tijdens het inloggen. audit_warn - Een bewerkbaar shell script gebruikt door de auditd applicatie welke waarschuwings berichten genereert in bijzondere situaties zoals wanneer de ruimte voor audit records te laagis of wanneer het audit trail bestand is geroteerd. Audit configuratie bestanden moeten voorzichtig worden bewerkt en onderhouden, omdat fouten in de configuratie kunnen resulteren in het verkeerd loggen van evenementen. Evenement selectie expressies Selectie expressies worden gebruikt op een aantal plaatsen in de audit configuratie om te bepalen welke evenementen er geaudit moeten worden. Expressies bevatten een lijst van evenement klassen welke gelijk zijn aan een prefix welke aangeeft of gelijke records geaccepteerd moeten worden of genegeerd en optioneel om aan te geven of de regel is bedoeld om succesvolle of mislukte operaties te matchen. Selectie expressies worden geevalueerd van links naar rechts en twee expressies worden gecombineerd door de één aan de ander toe te voegen. De volgende lijst bevat de standaard audit evenement klassen welke aanwezig zijn in het audit_class bestand: all - all - Matched alle evenement klasses. ad - administrative - Administratieve acties welke uitgevoerd worden op het gehele systeem. ap - application - Applicatie gedefinieerde acties. cl - file close - Audit aanroepen naar de close systeem aanroep. ex - exec - Audit programma uitvoer. Het auditen van command line argumenten en omgevings variabelen wordt gecontroleerd via &man.audit.control.5; door gebruik te maken van de argv en envv parameters in de policy setting. fa - file attribute access - Audit de toevoeging van object attributen zoals &man.stat.1;, &man.pathconf.2; en gelijkwaardige evenementen. fc - file create - Audit evenementen waar een bestand wordt gecreëerd als resultaat. fd - file delete - Audit evenementen waarbij bestanden verwijderd worden. fm - file attribute modify - Audit evenementen waarbij bestandsattribuut wijzigingen plaatsvinden zoals bij &man.chown.8;, &man.chflags.1;, &man.flock.2;, etc. fr - file read - Audit evenementen waarbij data wordt gelezen, bestanden worden geopend voor lezen etc. fw - file write - Audit evenementen waarbij data wordt geschreven, bestanden worden geschreven of gewijzigd, etc. io - ioctl - Audit het gebruik van de &man.ioctl.2; systeem aanroep. ip - ipc - Audit verschillende vormen van Inter-Process Communication, zoals POSIX pipes en System V IPC operaties. lo - login_logout - Audit &man.login.1; en &man.logout.1; evenementen die plaatsvinden op het systeem. na - non attributable - Audit non-attributable evenementen. no - invalid class - Matched geen enkel audit evenement. nt - network - Audit evenementen die gerelateerd zijn aan netwerk acties zoals &man.connect.2; en &man.accept.2;. ot - other - Audit diverse evenementen. pc - process - Audit process operaties zoals &man.exec.3; en &man.exit.3; Deze audit evenement klassen kunnen veranderd worden door het wijzigingen van de audit_class en audit_event configuratie bestanden. Elke audit klasse in de lijst wordt gecombineerd met een voorzetsel welke aangeeft of er succesvolle of mislukte operaties hebben plaatsgevonden en of de regel wordt toegevoegd of verwijderd van het matchen van de klasse en het type. (none) Audit zowel succesvolle als mislukte informatie van het evenement. + Audit succesvolle evenementen in deze klasse. - Audit mislukte evenementen in deze klasse. ^ Audit geen enkele succesvolle of mislukte evenementen in deze klasse. ^+ Audit geen succesvolle evenementen in deze klasse. ^- Audit geen mislukte evenementen in deze klasse. De volgende voorbeeld selectie strings selecteren zowel succesvolle als mislukte login/logout evenementen, maar alleen succesvolle uitvoer evenementen: lo,+ex Configuratie bestanden In de meeste gevallen moet een beheerder twee bestanden wijzigingen wanneer het audit systeem wordt geconfigureerd: audit_control en audit_user. Het eerste controleert systeem brede audit eigenschappen en policies, het tweede kan gebruikt worden om diepgaande auditing per gebruiker uit te voeren. Het <filename>audit_control</filename> bestand Het audit_control bestand specificeert een aantal standaarden van het audit subsysteem. Als de inhoud bekeken wordt van dit bestand is het volgende te zien: dir:/var/audit flags:lo minfree:20 naflags:lo policy:cnt filesz:0 De optie wordt gebruikt om één of meerdere directories te specificeren die gebruikt worden voor de opslag van audit logs. Als er meer dan één directory wordt gespecificeerd, worden ze op volgorde gebruikt naarmate ze gevuld worden. Het is standaard dat audit geconfigureerd wordt dat audit logs worden bewaard op een eigen bestandssysteem, om te voorkomen dat het audit subsysteem en andere subsystemen met elkaar botsen als het bestandssysteem volraakt. Het veld stelt de systeem brede standaard preselection maskers voor attributable evenementen in. In het voorbeeld boven worden succesvolle en mislukte login en logout evenementen geaudit voor alle gebruikers. De optie definieerd het minimale percentage aan vrije ruimte voor dit bestandssysteem waar de audit trails worden opgeslagen. Wanneer deze limiet wordt overschreven wordt er een waarschuwing gegenereerd. In het bovenstaande voorbeeld wordt de minimale vrije ruimte ingesteld op 20 procent. De optie specificeerd audit klasses welke geaudit moeten worden voor non-attributed evenementen zoals het login proces en voor systeem daemons. De optie specificeert een komma gescheiden lijst van policy vlaggen welke diverse aspecten van het audit proces beheren. De standaard cnt vlag geeft aan dat het systeem moet blijven draaien ook al treden er audit fouten op (deze vlag wordt sterk aangeraden). Een andere veel gebruikte vlag is argv, wat het mogelijk maakt om command line argumenten aan de &man.execve.2; systeem aanroep te auditen als onderdeel van het uitvoeren van commando's. De optie specificeert de maximale grootte in bytes hoeveel een audit trail bestand mag groeien voordat het automatisch getermineerd en geroteerd wordt. De standaard, 0, schakelt automatische log rotatie uit. Als de gevraagde bestands grootte niet nul is en onder de minimale 512k zit, wordt de optie genegeerd en wordt er een log bericht gegenereerd. Het <filename>audit_user</filename> bestand Het audit_user bestand staat de beheerder toe om verdere audit benodigdheden te specificeren voor gebruikers. Elke regel configureert auditing voor een gebruiker via twee velden, het eerste is het alwaysaudit veld, welke een set van evenementen specificeert welke altijd moet worden geaudit voor de gebruiker, en de tweede is het neveraudit veld, welke een set van evenementen specificeerd die nooit geaudit moeten worden voor de gebruiker. Het volgende voorbeeld audit_user bestand audit login/logout evenementen en succesvolle commando uitvoer voor de root gebruiker, en audit bestands creatie en succesvolle commando uitvoer voor de www gebruiker. Als dit gebruikt wordt in combinatie met het voorbeeld audit_control bestand hierboven, is de root regel dubbelop en zullen login/logout evenementen ook worden geaudit voor de www gebruiker. root:lo,+ex:no www:fc,+ex:no Het audit subsysteem beheren. Audit trails inzien Audit trails worden opgeslagen in het BSM binaire formaat, dus ondersteunende programma's moeten worden gebruikt om de informatie te wijzigen of converteren naar tekst. Het &man.praudit.1; commando converteert trail bestanden naar een simpel tekst formaat; het &man.auditreduce.1; commando kan gebruikt worden om de audit trail te reduceren voor analyse, archivering of voor het uitprinten van de data. auditreduce ondersteund een variateit aan selectie parameters, zoals evenement type, evenement klasse, gebruiker, datum of tijd van het evenement en het bestandspad of object dat gebruikt wordt. Bijvoorbeeld, het praudit programma zal een dump maken van de volledige inhoud van een gespecificeerd audit log bestand in normale tekst: &prompt.root; praudit /var/audit/AUDITFILE Waar AUDITFILE het audit bestand is dat ingelezen moet worden. Audit trails bestaan uit een serie van audit records die gevormd worden door tokens, welke praudit sequentieel print één per regel. Elke token is van een specifiek type, zoals een header welke de audit record header bevat, of path welke het bestandspad bevat van een lookup. Het volgende is een voorbeeld van een execve evenement: header,133,10,execve(2),0,Mon Sep 25 15:58:03 2006, + 384 msec exec arg,finger,doug path,/usr/bin/finger attribute,555,root,wheel,90,24918,104944 subject,robert,root,wheel,root,wheel,38439,38032,42086,128.232.9.100 return,success,0 trailer,133 Deze audit representeert een succesvolle execve aanroep, waarbij het commando finger doug is aangeroepen. Het argument token bevat beide commando's gerepresenteerd door de shell aan de kernel. Het path token bevat het pad naar het uitvoerbare bestand zoals opgezocht door de kernel. Het attribute token beschrijft de binary en om precies te zijn bevat het de bestands mode welke gebruikt kan worden om te zien of het bestand setuid was. Het subject token beschrijft het onderwerp proces en bevat sequentieel het audit gebruikers ID, effectieve gebruikers ID en groep ID, echte gebruikers ID, groep ID, proces ID, sessie ID, port ID en login adres. Let op dat het audit gebruikers ID en het echte gebruikers ID van elkaar verschillen omdat de gebruiker robert veranderd is naar de root gebruiker voordat het commando werd uitgevoerd, maar welke geaudit wordt als de originele geauthoriseerde gebruiker. Als laatste wordt de return token gebruikt om aan te geven dat er een succesvolle uitvoer is geweest en trailer geeft het einde aan van het record. In &os; 6.3 en later ondersteund praudit ook een XML output formaat, welke geselecteerd kan worden door gebruik te maken van het argument. Het reduceren van audit trails Omdat audit logs erg groot kunnen worden, zal de beheerder waarschijnlijk een subset van records willen selecteren om te gebruiken, zoals records die gekoppeld zijn aan een specifieke gebruiker: &prompt.root; auditreduce -u trhodes /var/audit/AUDITFILE | praudit Dit selecteert alle audit records die geproduceert zijn voor de gebruiker trhodes die opgeslagen is in het AUDITFILE bestand. Delegeren van audit onderzoek rechten Leden van de audit groep krijgen permissie om de audit trails te lezen in /var/audit; standaard is deze groep leeg en kan alleen de root gebruiker deze audit trails lezen. Gebruikers kunnen toegevoegd worden aan de audit groep zodat onderzoek rechten kunnen worden gedelegeerd aan de geruiker. Omdat de mogelijkheid van het inzien van audit log inhoud significante inzicht kan geven in het gedrag van gebruikers en processen, wordt het aangeraden dat de delagatie van onderzoek rechten eerst goed overdacht wordt. Live monitoren door gebruik van audit pipes Audit pipes zijn gecloonde pseudo-devices in het device bestands systeem, welke applicaties toestaat om een tap te plaatsen in de live audit record stream. Dit is primair interessant voor schrijvers van intrusion detection en systeem monitoring applicaties. Echter, voor een beheerder is het audit pipe device een makkelijke manier om live monitoring toe te staan zonder dat er problemen kunnen ontstaan met het eigenaarschap van het audit trail bestand, of dat een log rotatie de evenementen stroom in de weg zit. Om de live audit evenementen stroom te kunnen inzien is het volgende commando benodigd: &prompt.root; praudit /dev/auditpipe Standaard zijn de audit pipe device nodes alleen toegankelijk voor de root gebruiker. Om deze toegankelijk te maken voor leden van de audit groep, moet een devfs regel toegevoegd worden aan het devfs.rules bestand: add path 'auditpipe*' mode 0440 group audit Zie &man.devfs.rules.5; voor meer informatie over het configureren van het devfs bestands systeem. Het is makkelijk om audit evenement terugkoppeling cyclussen te creëeren, waarbij het tonen van elk audit evenement resulteert in het genereren van nog meer audit evenementen. Bijvoorbeeld, als alle netwerk I/O wordt geaudit en &man.praudit.1; wordt gestart vanuit een SSH sessie, wordt er een grote continue stroom aan audit evenementen gegenereert doordat elk getoond evenement een nieuw evenement genereert. Het is verstandig om praudit te draaien op een audit pipe device voor sessies zonder diepgaande I/O auditing om te voorkomen dat dit gebeurd. Het roteren van audit trail bestanden Audit trails worden alleen beschreven door de kernel en alleen beheerd worden door de audit daemon, auditd. Beheerders mogen geen gebruik maken van &man.newsyslog.conf.5; of soortgelijke programma's om de audit files te roteren. In plaats daarvan kan het audit management programma gebruikt worden om auditing te stoppen, het audit systeem te herconfigureren en log rotatie uit te voeren. Het volgende commando zorgt ervoor dat de audit daemon een nieuwe audit log maakt, en vervolgens de kernel een signaal stuurt om het nieuwe logbestand te gaan gebruiken. Het oude logbestand wordt getermineerd en hernoemd, waarna het bestand gemanipuleerd kan worden door de beheerder. &prompt.root; audit -n Als de auditd daemon op dit moment niet actief is, zal het commando falen en zal er een error bericht worden geproduceerd. Als de volgende regel wordt toegevoegd aan het /etc/crontab bestand, zal er elke twaalf uur een rotatie plaatsvinden door middel van &man.cron.8;: 0 */12 * * * root /usr/sbin/audit -n Deze wijziging wordt van kracht op het moment dat het nieuwe /etc/crontab bestand wordt opgeslagen. Automatische rotatie van het audit trail bestand gebaseerd op de bestand grootte is mogelijk via de optie in &man.audit.control.5; en wordt beschreven in de configuratie bestanden sectie van dit hoofdstuk. Audit trails comprimeren Omdat audit trail bestanden erg groot kunnen worden, is het meestal gewenst om de trails te comprimeren of op een andere manier te archiveren zodra ze afgesloten zijn door de audit daemon. Het audit_warn script kan gebruikt worden om bewerkte operaties te doen voor een variateit aan audit gerelateerde evenementen inclusief een nette terminatie van audit trails wanneer deze geroteerd worden. Bijvoorbeeld het volgende kan worden toegevoegd aan het audit_warn script, dat de audit trails comprimeert zodra ze afgesloten worden: # # Compress audit trail files on close. # if [ "$1" = closefile ]; then gzip -9 $2 fi Andere archiverings activiteiten kunnen zijn het kopieren van trail bestanden naar een gecentraliseerde server, het verwijderen van oude trail bestanden of het reduceren van de audit trail om onnodige records te verwijderen. Het script zal alleen draaien als audit trail bestanden netjes worden afgesloten, wat betekend dat het script niet uitgevoerd wordt op trails die niet netjes afgesloten zijn, waardoor bestanden corrupt kunnen raken. diff --git a/nl_NL.ISO8859-1/books/handbook/basics/Makefile b/nl_NL.ISO8859-1/books/handbook/basics/Makefile index fea6942368..e24593a6fd 100644 --- a/nl_NL.ISO8859-1/books/handbook/basics/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/basics/Makefile @@ -1,15 +1,17 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/handbook/basics/Makefile +# %SRCID% 1.1 CHAPTERS= basics/chapter.sgml VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/bibliography/Makefile b/nl_NL.ISO8859-1/books/handbook/bibliography/Makefile index f926466a22..9db5096617 100644 --- a/nl_NL.ISO8859-1/books/handbook/bibliography/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/bibliography/Makefile @@ -1,15 +1,18 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/handbook/bibliography/Makefile +# %SRCID% 1.1 +# CHAPTERS= bibliography/chapter.sgml VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/boot/Makefile b/nl_NL.ISO8859-1/books/handbook/boot/Makefile index 92105efc40..00f725ed70 100644 --- a/nl_NL.ISO8859-1/books/handbook/boot/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/boot/Makefile @@ -1,15 +1,18 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/handbook/boot/Makefile +# %SRCID% 1.1 +# CHAPTERS= boot/chapter.sgml VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/colophon.sgml b/nl_NL.ISO8859-1/books/handbook/colophon.sgml index bc0a0aaf81..fab35a507d 100644 --- a/nl_NL.ISO8859-1/books/handbook/colophon.sgml +++ b/nl_NL.ISO8859-1/books/handbook/colophon.sgml @@ -1,33 +1,35 @@ Dit boek bevat het gecombineerde werk van honderden vrijwilligers die bijdragen aan Het &os; Documentatie Project. De tekst is geschreven in SGML volgens de DocBook DTD en wordt vanuit SGML geformatteerd naar vele verschillende presentatieformaten met gebruik van de open source DSSSL engine Jade. De presentatie-instructies voor Jade zijn verkregen door uitbreiding van Norm Walsh's DSSSL stijlbladen. De gedrukte versie van dit boek was niet mogelijk geweest zonder Donald Knuth's &tex; typesetting taal, Leslie Lamport's LaTeX, of Sebastian Rahtz's JadeTeX macropakket. diff --git a/nl_NL.ISO8859-1/books/handbook/config/Makefile b/nl_NL.ISO8859-1/books/handbook/config/Makefile index 40c8e11572..9875fd1807 100644 --- a/nl_NL.ISO8859-1/books/handbook/config/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/config/Makefile @@ -1,15 +1,18 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/handbook/config/Makefile +# %SRCID% 1.1 +# CHAPTERS= config/chapter.sgml VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/cutting-edge/Makefile b/nl_NL.ISO8859-1/books/handbook/cutting-edge/Makefile index 29da7845dd..bca8497cf1 100644 --- a/nl_NL.ISO8859-1/books/handbook/cutting-edge/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/cutting-edge/Makefile @@ -1,15 +1,18 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/handbook/cutting-edge/Makefile +# %SRCID% 1.1 +# CHAPTERS= cutting-edge/chapter.sgml VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/desktop/Makefile b/nl_NL.ISO8859-1/books/handbook/desktop/Makefile index 6dd222f080..37a99317dc 100644 --- a/nl_NL.ISO8859-1/books/handbook/desktop/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/desktop/Makefile @@ -1,15 +1,18 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/handbook/desktop/Makefile +# %SRCID% 1.1 +# CHAPTERS= desktop/chapter.sgml VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/disks/Makefile b/nl_NL.ISO8859-1/books/handbook/disks/Makefile index 140975c79e..01e0fb563c 100644 --- a/nl_NL.ISO8859-1/books/handbook/disks/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/disks/Makefile @@ -1,15 +1,18 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/handbook/disks/Makefile +# %SRCID% 1.1 +# CHAPTERS= disks/chapter.sgml VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/dtrace/Makefile b/nl_NL.ISO8859-1/books/handbook/dtrace/Makefile index 0a0e6e03dc..be94ef2c90 100644 --- a/nl_NL.ISO8859-1/books/handbook/dtrace/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/dtrace/Makefile @@ -1,15 +1,18 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/handbook/dtrace/Makefile +# %SRCID% 1.1 +# CHAPTERS= dtrace/chapter.sgml VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/eresources/Makefile b/nl_NL.ISO8859-1/books/handbook/eresources/Makefile index cb030a0162..bac8776abb 100644 --- a/nl_NL.ISO8859-1/books/handbook/eresources/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/eresources/Makefile @@ -1,15 +1,18 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/handbook/eresources/Makefile +# %SRCID% 1.1 +# CHAPTERS= eresources/chapter.sgml VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/filesystems/Makefile b/nl_NL.ISO8859-1/books/handbook/filesystems/Makefile index 499d815d22..cb61bfe236 100644 --- a/nl_NL.ISO8859-1/books/handbook/filesystems/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/filesystems/Makefile @@ -1,15 +1,18 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/handbook/filesystems/Makefile +# %SRCID% 1.1 +# CHAPTERS= filesystems/chapter.sgml VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/firewalls/Makefile b/nl_NL.ISO8859-1/books/handbook/firewalls/Makefile index 331f5bf8ec..8b30b1b3dd 100644 --- a/nl_NL.ISO8859-1/books/handbook/firewalls/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/firewalls/Makefile @@ -1,15 +1,18 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/handbook/firewalls/Makefile +# %SRCID% 1.1 +# CHAPTERS= firewalls/chapter.sgml VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/geom/Makefile b/nl_NL.ISO8859-1/books/handbook/geom/Makefile index 59e5759cdc..ca8d2d55e6 100644 --- a/nl_NL.ISO8859-1/books/handbook/geom/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/geom/Makefile @@ -1,15 +1,18 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/handbook/geom/Makefile +# %SRCID% 1.1 +# CHAPTERS= geom/chapter.sgml VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/install/Makefile b/nl_NL.ISO8859-1/books/handbook/install/Makefile index 738cdb647d..12d1cb753e 100644 --- a/nl_NL.ISO8859-1/books/handbook/install/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/install/Makefile @@ -1,15 +1,18 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/handbook/install/Makefile +# %SRCID% 1.1 +# CHAPTERS= install/chapter.sgml VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/introduction/Makefile b/nl_NL.ISO8859-1/books/handbook/introduction/Makefile index 4c22f7ce8a..2a09be5ac7 100644 --- a/nl_NL.ISO8859-1/books/handbook/introduction/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/introduction/Makefile @@ -1,15 +1,18 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/handbook/introduction/Makefile +# %SRCID% 1.1 +# CHAPTERS= introduction/chapter.sgml VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/kernelconfig/Makefile b/nl_NL.ISO8859-1/books/handbook/kernelconfig/Makefile index 95839d340a..d9eeea59d3 100644 --- a/nl_NL.ISO8859-1/books/handbook/kernelconfig/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/kernelconfig/Makefile @@ -1,15 +1,18 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/handbook/kernelconfig/Makefile +# %SRCID% 1.1 +# CHAPTERS= kernelconfig/chapter.sgml VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/l10n/Makefile b/nl_NL.ISO8859-1/books/handbook/l10n/Makefile index c6741a2341..9c3f9fb681 100644 --- a/nl_NL.ISO8859-1/books/handbook/l10n/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/l10n/Makefile @@ -1,15 +1,18 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/handbook/l10n/Makefile +# %SRCID% 1.1 +# CHAPTERS= l10n/chapter.sgml VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/l10n/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/l10n/chapter.sgml index 2ac70f5c13..4e5589f53e 100644 --- a/nl_NL.ISO8859-1/books/handbook/l10n/chapter.sgml +++ b/nl_NL.ISO8859-1/books/handbook/l10n/chapter.sgml @@ -1,1084 +1,1086 @@ Andrey Chernov Bijgedragen door Michael C. Wu Herschreven door René Ladan Vertaald door Lokalisatie - I18N/L10N gebruiken en instellen Overzicht &os; is een zeer gedistribueerd project met gebruikers over de gehele wereld. Dit hoofdstuk behandelt de internationalisatie- en lokalisatie-eigenschappen van &os; die niet-Engelssprekende gebruikers echt werk laten verzetten. Er zitten veel aspecten van de i18n-implementatie in zowel de systeem- als applicatieniveaus, dus waar mogelijk wordt de lezer verwezen naar meer specifieke bronnen. Na dit hoofdstuk weet de lezer: Hoe verschillende talen en locales gecodeerd zijn op moderne besturingssystemen. Hoe de locale in te stellen voor een login-shell. Hoe de console voor niet-Engelse talen in te stellen. Hoe het X Window systeem effectief met meerdere talen te gebruiken. Waar meer informatie te vinden over het schrijven van i18n-respecterende applicaties. Veronderstelde voorkennis: Weten hoe aanvullende applicaties van derde partijen geïnstalleerd worden (). Beginselen Wat is I18N/L10N? internationalisatie lokalisatie lokalisatie Ontwikkelaars hebben internationalisatie (internationalization afgekort tot de term I18N, de eerste en de laatste letter en het aantal tussenliggende letters. L10N gebruikt hetzelfde schema voor naamgeving en komt van localization. Samen staan I18N/L10N methoden, protocollen en applicaties gebruikers toe de taal van hun keuze te gebruiken. I18N-applicaties zijn geprogrammeerd door gebruik te maken van I18N-gereedschappen van bibliotheken. Daarmee kunnen ontwikkelaars een eenvoudig bestand schrijven en menu's en teksten weergeven in elke taal. Programmeurs worden door het &os; Project sterk aangemoedigd deze conventie te volgen. Waarom I18N/L10N gebruiken? I18N/L10N wordt gebruikt als een gebruiker gegevens wil bekijken, invoeren of verwerken in niet-Engelse talen. Welke talen worden ondersteund door I18N? I18N en L10N zijn niet &os; specifiek. Momenteel kan er gekozen worden uit de meeste grote wereldtalen, inclusief maar niet beperkt tot: Chinees, Duits, Japans, Koreaans, Frans, Russisch en Vietnamees. Lokalisatie gebruiken In al zijn pracht is I18N niet &os; specifiek maar een conventie. Het &os; Project moedigt iedereen aan &os; te helpen deze conventie te gebruiken. locale Lokalisatie-instellingen zijn gebaseerd op drie hoofdtermen: Taalcode, Landcode en Codering. Localenamen zijn als volgt opgebouwd: Taalcode_Landcode.Codering Taal- en landcodes taalcodes landcodes Om een &os; systeem (of een ander I18N-ondersteunend &unix; achtig systeem) te lokaliseren naar een bepaalde taal, moet de gebruiker de codes voor het specifieke land en taal achterhalen. Landcodes geven applicaties aan welke variatie van de gegeven taal gebruikt moet worden. Ook webbrowsers, SMTP/POP-servers, webservers, enz. maken beslissingen gebaseerd op die codes. Hieronder staan voorbeelden van taal- en landcodes: Taal- en landcode Omschrijving en_US Engels - Verenigde Staten ru_RU Russisch voor Rusland zh_TW Traditioneel Chinees voor Taiwan Coderingen coderingen ASCII Sommige talen gebruiken andere ASCII-coderingen dan 8-bit, wijde of multibyte karakters, zie &man.multibyte.3;. Oudere programma's herkennen die niet en interpreteren ze foutief als controlekarakters aan. Afhankelijk van de implementatie moeten gebruikers eventueel een applicatie met wijde of multibyte karakterondersteuning compileren, of hem correct instellen. Om wijde of multibyte karakters in te kunnen voeren en te kunnen verwerken levert de &os; Portscollectie voor elke taal programma's. Hiervoor staat I18N-documentatie in de respectievelijke &os; Port. Voor het bouwen van een gewenste applicatie met lokalisatie is het verstandig de applicatiedocumentatie te bekijken om te bepalen hoe de juiste waarden doorgegeven kunnen worden naar configure, Makefile of de compiler. Houd rekening met: Taalspecifieke enkele C-karakters karakterverzamelingen (zie &man.multibyte.3;), bijvoorbeeld ISO8859-1, ISO-8859-15, KOI8-R of CP437. Wijde of multibyte coderingen, bijvoorbeeld EUC of Big5. Een lijst met actieve karakterverzamelingen staat bij de IANA Registry. &os; gebruikt in plaats hiervan X11-compatible locale-coderingen. I18N applicaties In het &os; Ports en Package systeem hebben I18N-applicaties I18N in hun naam zodat ze eenvoudig herkend kunnen worden. Toch ondersteunen ze niet altijd iedere mogelijk gewenste taal. Locale instellen Meestal is het voldoende om de waarde van de localenaam te exporteren als LANG in de login-shell. Dit kan door die waarde in ~/.login_conf van de gebruiker of in ~/.profile, ~/.bashrc of ~/.cshrc) van de gebruiker te zetten. Het is niet nodig om localedeelverzamelingen als LC_CTYPE of LC_CTIME in te stellen. Bij de taalspecifieke &os; documentatie staat vaak nog informatie. De twee volgende omgevingsvariabelen moeten in de instellingenbestanden ingesteld worden: POSIX LANG voor de &posix; &man.setlocale.3; functies. MIME MM_CHARSET voor de MIME karakters voor applicaties. Dit is inclusief het instellen van de gebruikers-shell, het instellen van de specifieke applicatie en de instellingen voor X11. Methoden om locale in te stellen locale loginklasse Er zijn twee methoden om de locale in te stellen en beiden worden hieronder beschreven. De eerste (aanbevolen) methode is door middel van het toekennen van omgevingsvariabelen in de loginklasse en de tweede is mogelijk door middel van het toevoegen van de omgevingsvariabelen aan het opstartbestand van de systeem-shell. Methode loginklasse Deze methode biedt de mogelijkheid om omgevingsvariabelen die nodig zijn voor de localenaam en MIME karakterverzamelingen éénmalig voor elke mogelijke shell toe te kennen in plaats van door toekenning via het opstartbestand van elke shell. Gebruikersinstellingen kunnen door de gebruiker zelf worden gemaakt en voor Beheerdersinstellingen zijn superuser-rechten nodig. Gebruikersinstellingen Hieronder staat een minimaal voorbeeld van een .login_conf bestand in de thuismap van een gebruiker die beide variabelen heeft ingesteld op Latin-1 codering: me:\ :charset=ISO-8859-1:\ :lang=de_DE.ISO8859-1: traditioneel Chinees BIG-5 codering Hieronder staat is een voorbeeld van een .login_conf die variabelen instelt voor traditioneel Chinees in BIG-5 codering. Er zijn veel andere variabelen ingesteld zijn omdat sommige software localevariabelen niet correct respecteert voor Chinees, Japans, en Koreaans. # Gebruikers die geen valuta eenheden of tijdformaten voor Taiwan # willen gebruiken kunnen handmatig elke variabele wijzigen. me:\ :lang=zh_TW.Big5:\ :setenv=LC_ALL=zh_TW.Big:\ :setenv=LC_COLLATE=zh_TW.Big5:\ :setenv=LC_CTYPE=zh_TW.Big5:\ :setenv=LC_MESSAGES=zh_TW.Big5:\ :setenv=LC_MONETARY=zh_TW.Big5:\ :setenv=LC_NUMERIC=zh_TW.Big5:\ :setenv=LC_TIME=zh_TW.Big5:\ :charset=big5:\ :xmodifiers="@im=gcin": # Stel gcin in als XIM invoerserver Zie Beheerdersinstellingen en &man.login.conf.5; voor meer details. Beheerdersinstellingen Er dient gecontroleerd te worden of loginklasse voor gebruikers, /etc/login.conf, de juiste taal instelt door de volgende instellingen in /etc/login.conf: taalnaam: accountstitel:\ :charset=MIME_karakterverzameling: :lang=localenaam:\ :tc=default: Voor het bovenstaande voorbeeld dat gebruik maakt van Latin-1 ziet dat er als hieronder uit: german:Duitse gebruikersaccounts:\ :charset=ISO-8859-1:\ :lang=de_DE.ISO8859-1:\ :tc=default: Voer voordat de gebruikers login class wordt gewijzigd het volgende uit: &prompt.root; cap_mkdb /etc/login.conf om de nieuwe configuratie in /etc/login.conf zichtbaar te maken voor het systeem. Loginklasse wijzigen met &man.vipw.8; vipw Met vipw kunnen nieuwe gebruikers toegevoegd worden en de instellingen dienen ongeveer als volgt uit te zien: gebruiker:wachtwoord:1111:11:taal:0:0:Gebruikersnaam:/home/gebruiker:/bin/sh Loginklasse wijzigen met &man.adduser.8; adduser loginklasse Met adduser kunnen nieuwe gebruikers toegevoegd worden. Hierna dient één van de volgende stappen uitgevoerd te worden: defaultclass = taal instellen in /etc/adduser.conf. In dit geval dient er voor alle gebruikers van andere talen een default klasse ingevoerd te worden. Er kan ook gekozen worden voor een antwoord op de vraag over taal vanuit &man.adduser.8;: Enter login class: default []: Ook kan het volgende gebruikt worden voor elke gebruiker die een andere taal gebruikt: &prompt.root; adduser -class taal Loginklasse wijzigen met &man.pw.8; pw Als &man.pw.8; wordt gebruikt om nieuwe gebruikers toe te voegen: &prompt.root; pw useradd gebruikersnaam -L taal Methode opstartbestand shell Deze methode wordt niet aanbevolen omdat er instellingenen nodig zijn voor elke mogelijke shell. Het advies is de Methode Loginklasse te gebruiken. MIME locale Om de localenaam en MIME karakterverzameling toe te voegen kunnen gewoon twee omgevingsvariabelen ingesteld worden, zoals hieronder te zien is, in /etc/profile en/of /etc/csh.login opstartbestanden voor shells. Hier wordt de Duitse taal als voorbeeld gebruikt: In /etc/profile: LANG=de_DE.ISO8859-1; export LANG MM_CHARSET=ISO-8859-1; export MM_CHARSET Of in /etc/csh.login: setenv LANG de_DE.ISO8859-1 setenv MM_CHARSET ISO-8859-1 Het is ook mogelijk de bovenstaande instructies toe te toevoegen /usr/share/skel/dot.profile (ongeveer gelijk aan wat hierboven in /etc/profile is gebruikt) of aan /usr/share/skel/dot.login (ongeveer gelijk aan wat hierboven in /etc/csh.login is gebruikt). Voor X11: In $HOME/.xinitrc: LANG=de_DE.ISO8859-1; export LANG Of: setenv LANG de_DE.ISO8859-1 Afhankelijk van de shell (zie boven). Console instellen Voor alle enkele C-karakters karakterverzamelingen worden de juiste lettertypen voor het console ingesteld in /etc/rc.conf voor de taal in kwestie met: font8x16=lettertypenaam font8x14=fontnaam font8x8=fontnaam De lettertypenaam komt uit de map /usr/share/syscons/fonts zonder het achtervoegsel .fnt. sysinstall toetsenmapping schermmapping De gebruiker dient ervoor te zorgen de juiste enkele C-karakters karakterverzameling wordt ingesteld met /stand/sysinstall ((/stand/sysinstall in &os; versies ouder dan 5.2). In sysinstall kan Configure en Console gekozen worden. Het is ook mogelijk het volgende aan /etc/rc.conf toe te voegen: scrnmap=schermmappingnaam keymap=toetsenmappingnaam keychange="fkey_nummer sequentie" schermmappingnaam komt uit de map /usr/share/syscons/scrnmaps zonder het achtervoegsel .scm. Meestal is een schermmapping met een overeenkomstig gemapt lettertype nodig als workaround om bit 8 naar bit 9 uit te breiden op een lettertype–karaktermatrix van een VGA-adapter in pseudografische gebieden, dat wil zeggen om letters uit dat gebied te halen als het schermlettertype een bit 8 kolom gebruikt. Als de moused daemon is ingeschakeld met de onderstaande regel in /etc/rc.conf, dan wordt aangeraden de muiscursorinformatie in de volgende paragraaf te bekijken. moused_enable="YES" moused Standaard neemt de muiscursor van het &man.syscons.4; stuurprogramma het bereik 0xd0-0xd3 van de tekenverzameling in beslag. Als een ingestelde taal dit bereik gebruikt, moet het cursorbereik hierbuiten gehaald worden. Om de workaround voor &os; aan te zetten kan de volgende regel aan /etc/rc.conf toegevoegd worden: mousechar_start=3 De toetsenmappingnaam komt uit de map /usr/share/syscons/keymaps zonder het achtervoegsel .kbd. Als niet precies duidelijk is welke toetsenmapping te gebruiken, kan de toetsenmapping getest worden met &man.kbdmap.1; zonder opnieuw op te starten. keychange is nodig om functietoetsen zo te programmeren dat ze overeenkomen met het geselecteerde terminaltype omdat functietoetssequenties niet in de toetsenmapping gedefinieerd kunnen worden. Er dient ook een controle te zijn op een juiste instelling van het juiste terminaltype voor het console in /etc/ttys voor alle ttyv* regels. De huidige instellingen zijn: Karakterverzameling Terminaltype ISO8859-1 of ISO-8859-15 cons25l1 ISO8859-2 cons25l2 ISO8859-7 cons25l7 KOI8-R cons25r KOI8-U cons25u CP437 (VGA standaardinstelling) cons25 US-ASCII cons25w Voor wijde of multibyte karaktertalen kan je juiste &os; port in de map /usr/ports/taal gebruikt worden. Sommige ports verschijnen als console terwijl het systeem ze als serieële vtty ziet. Er dienen dus voldoende vtty's gereserveerd te zijn voor zowel X11 als de pseudo-serieële console. Hier is een gedeeltelijke lijst van applicaties voor het gebruik van andere talen in console: Taal Locatie traditioneel Chinees (BIG-5) chinese/big5con Japans japanese/kon2-16dot of japanese/mule-freewnn Koreaans korean/han X11 instellen Hoewel X11 geen deel is van het &os; Project wordt het hier wel besproken voor &os; gebruikers. Meer details zijn te vinden op de &xorg; website of op de website van een andere X11 server die gebruikt wordt. In ~/.Xresources kunnen applicatiespecifieke I18N instellingen gemaakt worden als lettertypen, menu's, enzovoort. Lettertypen weergeven X11 &truetype; lettertypeserver Eerst moet &xorg; server (x11-servers/xorg-server) of &xfree86; server (x11-servers/XFree86-4-Server) geïnstalleerd worden en daarna de &truetype; lettertypen van de taal. Door de gewenste locale in te stellen worden de menu's en dergelijke in de gekozen taal weergegeven. Niet-Engelse karakters invoeren X11 Input Method (XIM) Het X11 Input Method (XIM) protocol is een nieuwe standaard voor alle X11-cliënts. Alle X11-applicaties horen geschreven te worden als XIM-cliënts die invoer aannemen van de XIM-invoerservers. Er zijn meerdere XIM-servers beschikbaar voor verschillende talen. Printerinstellingen Sommige enkele C-karakters karakterverzamelingen zijn standaard hardware-gecodeerd in printers. Voor wijde of multibyte karakterverzamelingen is een speciale installatie nodig en het gebruik van apsfilter wordt dan aangeraden. Een document kan ook naar &postscript; of PDF formaat omgezet worden door gebruik te maken van taalspecifieke conversieprogramma's. Kernel en bestandssystemen Het &os; Snelle Bestandssysteem (FFS) is 8-bit schoon, dus het kan gebruikt worden met elke enkele C-karakters karakterverzameling (zie &man.multibyte.3;), maar er is geen karakterverzamelingnaam opgeslagen in het bestandssysteem. Het is dus rauw 8-bit en het weet niets van coderingsbevelen. Officieel ondersteunt FFS nog geen enkele vorm van wijde of multibyte karakterverzamelingen. Toch hebben sommige wijde of multibyte karakterverzamelingen onafhankelijke patches voor FFS die ondersteuning inschakelen. Dit zijn tijdelijke oplossingen of hacks die niet overdraagbaar zijn en daarom is besloten ze niet in de source tree op te nemen. Op de websites van de talen staan de patchbestanden en meer informatie. &ms-dos; Unicode Voor het &os; &ms-dos; bestandssysteem kan geschakeld worden tussen &ms-dos;, Unicode karakterverzamelingen en gekozen &os; bestandssysteem-karakterverzamelingen. &man.mount.msdosfs.8; beschijft de details. I18N-programma's compileren Veel &os; Ports zijn geschikt gemaakt voor &os; met I18N-ondersteuning. Een aantal daarvan zijn gemarkeerd met -I18N in de portnaam. Deze en nog veel andere programma's hebben ingebouwde ondersteuning voor I18N en behoeven geen speciale aandacht. MySQL Toch is het voor sommige applicaties zoals MySQL nodig dat de Makefile ingesteld is met de specifieke karakterverzameling. Dit wordt normaliter gedaan in de Makefile of door middel van het doorgeven van een waarde aan configure in de broncode. &os; lokaliseren naar talen Andrey Chernov Oorspronkelijk bijgedragen door Russisch (KOI8-R codering) lokalisatie Russisch Voor meer informatie over KOI8-R codering, zie de KOI8-R References (Russian Net Character Set). Locale instellen Voeg de volgende regels toe aan ~/.login_conf bestand: me:Mijn account:\ :charset=KOI8-R:\ :lang=ru_RU.KOI8-R: Zie eerder in dit hoofdstuk voor voorbeelden over het opzetten van de locale. Console instellen Voeg de volgende regel toe aan aan /etc/rc.conf: mousechar_start=3 Gebruik ook de volgende instellingen in /etc/rc.conf: keymap="ru.koi8-r" scrnmap="koi8-r2cp866" font8x16="cp866b-8x16" font8x14="cp866-8x14" font8x8="cp866-8x8" Voor elke ttyv* regel in /etc/ttys, gebruik cons25r als het terminaltype. Zie eerder in dit hoofdstuk voor voorbeelden over het opzetten van de console. Printer instellen printers Aangezien de meeste printers met Russische karakters met hardware-codepagina CP866 komen, is een speciaal uitvoerfilter nodig om KOI8-R om te zetten in CP866. Zo'n filter is standaard geïnstalleerd als /usr/libexec/lpr/ru/koi2alt. Een /etc/printcap regel voor een Russische printer moet er uit zien als: lp|Russische lokale lijnprinter:\ :sh:of=/usr/libexec/lpr/ru/koi2alt:\ :lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs: Zie &man.printcap.5; voor een gedetailleerde beschrijving. &ms-dos; bestandssysteem en Russische bestandsnamen De volgende voorbeeld &man.fstab.5; regel zet ondersteuning aan voor Russische bestandsnamen gekoppeld op &ms-dos; bestandssystemen: /dev/ad0s2 /dos/c msdos rw,-Wkoi2dos,-Lru_RU.KIO8-R 0 0 De optie selecteert de te gebruiken localenaam, en stelt de karakteromzettabel in. Om de te gebruiken moet /usr gemount zijn voor de &ms-dos; partitie omdat de omzettabellen zich bevinden in /usr/libdata/msdosfs. &man.mount.msdosfs.8; geeft verdere uitleg. X11 instellen Voer eerst de niet-X lokale instellingen uit zoals beschreven. Installeer bij gebruik van &xorg; het package x11-fonts/xorg-fonts-cyrillic. Controleer de "Files" sectie in /etc/X11/xorg.conf bestand. Zorg dat de volgende regels vóór andere FontPath regels staan: FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/misc" FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/75dpi" FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/100dpi" Er er een hoge resolutie videomodus wordt gebruikt dan kunnen de 75dpi en 100dpi regels gewisseld worden. Zie de Ports Collectie voor meer cyrillic fonts. Om een Russisch toetsenbord te activeren dient het volgende in het "Keyboard" gedeelte van xorg.conf te staan: XkbLayout "ru" XkbOptions "grp:caps_toggle" Voor &xorg;: Option "XkbLayout" "us,ru" Option "XkbOptions" "grp:caps_toggle" Ook moet daar XkbDisable uitgeschakeld (uitgecomment) zijn. Voor grp:caps_toggle is de RUS/LAT-schakelaar Rechter Alt voor de grp:ctrl_shift_toggle schakelaar zal dat CtrlShift zijn. De oude CapsLock functie is nog steeds beschikbaar via Shift CapsLock (alleen in LAT-modus). Voor grp:toggle is de RUS/LAT-schakelaar Right Alt. grp:caps_toggle werkt om onbekende reden niet in &xorg;. Als er &windows; toetsen op een toetsenbord zitten en het blijkt dat sommige niet-alfabetische toetsen verkeerd gemapt zijn in RUS-modus, dan kan de volgende regel aan xorg.conf toegevoegd worden: Option "XkbVariant" ",winkeys" Het Russische XKB toetsenbord hoeft niet te werken met niet-gelokaliseerde applicaties. Minimaal gelokaliseerde applicaties moeten vroeg in het programma een aanroep naar de XtSetLanguageProc (NULL, NULL,); functie doen. In KOI8-R for X Window staan meer instructies over het lokaliseren van X11-applicaties. Traditioneel Chinees voor Taiwan lokalisatie traditioneel Chinees Het &os;-Taiwan Project heeft een Chinese HOWTO voor &os; op die gebruik maakt van veel Chinese ports. De huidige redacteur voor de &os; Chinese HOWTO is Shen Chuan-Hsing statue@freebsd.sinica.edu.tw. Chuan-Hsing Shen heeft de Chinese &os; Collection (CFC) gemaakt met gebruik van &os;-Taiwan's zh-L10N-tut. De packages en scriptbestanden zijn beschikbaar op . Duits (alle ISO 8859-1 talen) lokalisatie Duits Slaven Rezic eserte@cs.tu-berlin.de heeft een tutorial geschreven over hoe umlauten in &os; gebruikt kunnen worden. De tutorial is in het Duits geschreven en staat op . Japans en Koreaans lokalisatie Japans lokalisatie Koreaans Japanse lokalisatie staat beschreven op en de Koreaanse lokalisatie staat op . Niet-Engelstalige &os; documentatie Sommige delen van &os; zijn naar andere talen vertaald. Hiernaar staan links op de hoofdsite of in /usr/share/doc. diff --git a/nl_NL.ISO8859-1/books/handbook/linuxemu/Makefile b/nl_NL.ISO8859-1/books/handbook/linuxemu/Makefile index 37adfa9af6..812248d3f8 100644 --- a/nl_NL.ISO8859-1/books/handbook/linuxemu/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/linuxemu/Makefile @@ -1,15 +1,18 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/handbook/linuxemu/Makefile +# %SRCID% 1.1 +# CHAPTERS= linuxemu/chapter.sgml VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/mac/Makefile b/nl_NL.ISO8859-1/books/handbook/mac/Makefile index 74aca4172f..6932e19048 100644 --- a/nl_NL.ISO8859-1/books/handbook/mac/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/mac/Makefile @@ -1,15 +1,18 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/handbook/mac/Makefile +# %SRCID% 1.1 +# CHAPTERS= mac/chapter.sgml VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/mail/Makefile b/nl_NL.ISO8859-1/books/handbook/mail/Makefile index 538dff091f..013be5ad56 100644 --- a/nl_NL.ISO8859-1/books/handbook/mail/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/mail/Makefile @@ -1,15 +1,18 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/handbook/mail/Makefile +# %SRCID% 1.1 +# CHAPTERS= mail/chapter.sgml VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/mail/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/mail/chapter.sgml index 0876e660b5..2e6303d117 100644 --- a/nl_NL.ISO8859-1/books/handbook/mail/chapter.sgml +++ b/nl_NL.ISO8859-1/books/handbook/mail/chapter.sgml @@ -1,2339 +1,2341 @@ Bill Lloyd Origineel werk van Jim Mock Herschreven door Tom Leeters Vertaald door Frederic Van Assche Vertaling voortgezet door René Ladan Vertaling voortgezet door Elektronische mail Overzicht email Elektronische Mail, beter bekend als email, is tegenwoordig een van de meest gebruikte vormen van communicatie. Dit hoofdstuk geeft een algemene inleiding in het opzetten van een mailserver op &os;, alsmede een introductie in het verzenden en ontvangen van email op &os;; het is echter geen complete referentie en veel belangrijke overwegingen zullen buiten beschouwing worden gelaten. Voor een completere behandeling wordt de lezer gewezen op de vele uitstekende boeken welke worden vermeld in . In dit hoofdstuk wordt behandeld: Welke software (componenten) gebruikt wordt(en) bij het verzenden en ontvangen van email. Waar algemene sendmail instellingsbestanden worden opgeslagen in &os;. Het verschil tussen lokale en postbussen op-afstand. Hoe spammers te verhinderen dat ze de mailserver illegaal gebruiken als "relay". Hoe een andere MTA (Mail Transfer Agent) te installeren en configureren op het systeem, ter vervanging van sendmail. Hoe veel voorkomende problemen met mail servers worden opgelost. Hoe SMTP met UUCP te gebruiken. Hoe een systeem in te stellen om alleen mail te verzenden. Hoe email te gebruiken met een inbelverbinding. Hoe SMTP Authenticatie in te stellen voor verhoogde beveiliging. Hoe een Mail User Agent zoals mutt te installeren om email te verzenden en te ontvangen. Hoe mail te downloaden van een POP of IMAP server op afstand. Hoe automatisch filters en sorteerregels op inkomende email toe te passen. Voordat dit hoofdstuk gelezen wordt, dienen: De netwerkverbindingen correct ingesteld te zijn (). De juiste DNS-informatie ingesteld te zijn voor de mailserver (). Bekend te zijn hoe software van derde partijen te installeren (). Gebruik maken van elektronische mail POP IMAP DNS Er zijn vijf belangrijke componenten betrokken bij het uitwisselen van email. Dit zijn: het gebruikersprogramma, de serverdaemon, DNS, een postbus, lokaal of op afstand , en natuurlijk de mailhost zelf . Het gebruikersprogramma Dit omvat opdrachtregelprogramma's zoals mutt , pine, elm, en mail, en GUI programma's zoals balsa, xfmail, en iets geavanceerders zoals een webbrowser. Deze programma's doen niets anders dan de mail bezorgen bij de lokale mailhost, door deze af te leveren of bij een van de beschikbare serverdiensten, of via TCP. Mailhost Server Daemon mailserver daemons sendmail mailserver daemons postfix mailserver daemons qmail mailserver daemons exim &os; wordt standaard geleverd met de sendmail , maar ondersteund meerdere andere mailserver daemons, zoals: exim; postfix; qmail. De server daemon heeft meestal twee functies—het is verantwoordelijk voor het ontvangen van inkomende mail en het bezorgen van uitgaande mail. Het is niet verantwoordelijk voor het verzamelen van mail door gebruik te maken van protocollen zoals POP of IMAP om mail te lezen, noch staat het toe om een verbinding te maken met een lokale mbox of Maildir postbus. Het is mogelijk dat daarvoor een extra daemon voor nodig is. Oudere versies van sendmail hebben serieuze beveiligingslekken welke kunnen leiden tot een situatie waarbij een aanvaller lokale of toegang van afstand tot de machine kan verkrijgen. Draai een actuele versie om deze problemen te voorkomen. Optioneel kan een alternatieve MTA van de &os; Portscollectie geïnstalleerd worden. Email en DNS Het Domein Naam Systeem (DNS) en de daemon named spelen een grote rol in het bezorgen van email. Om het mogelijk te maken email van de deze lokatie naar een andere lokatie te bezorgen, zal de serverdaemon de andere lokatie opzoeken in het DNS om zo de host te bepalen die de email voor de bestemming in ontvangst zal nemen. Dit gebeurt ook als email verzonden wordt vanaf een andere host naar de lokale mailserver. MX record DNS is verantwoordelijk voor het koppelen van hostnamen aan IP-adressen, en voor het opslaan van specifieke informatie voor het bezorgen van mail, bekend als MX-regels. De MX-regel (Mail eXchanger) specificeert welke host(s) mail zullen ontvangen voor een specifiek domein. Als er geen MX-regel is voor deze hostnaam of dit domein, dan zal de mail direct bij de host worden afgeleverd, mits er een A-regel is die deze hostnaam aan dit IP-adres koppelt. De MX-regels van een willekeurig domein kunnen worden bekeken door gebruik te maken van het commando &man.host.1;, zoals te zien is in het onderstaande voorbeeld: &prompt.user; host -t mx FreeBSD.org FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.org Mail ontvangen email ontvangen De mailhost verzorgt het ontvangen van mail voor het domein. Deze zal alle mail verzonden aan het domein verzamelen en deze afhankelijk van de configuratie opslaan in òf mbox (de standaardmanier om mail op te slaan) òf in Maildir-formaat. Wanneer de mail eenmaal is opgeslagen, kan het òf lokaal gelezen worden door toepassingen als &man.mail.1; of mutt , of op afstand bekeken en verzameld worden middels protocollen als POP of IMAP. Dit betekent, dat als mail alleen lokaal wordt gelezen, er geen POP- of IMAP-server geïnstalleerd hoeft te worden. Op afstand toegang tot de postbus krijgen door gebruik te maken van <acronym>POP</acronym> en <acronym>IMAP</acronym> POP IMAP Om op afstand toegang te krijgen tot postbussen is het nodig toegang te hebben tot een POP- of IMAP -server. Deze protocollen stellen gebruikers in staat hun postbus gemakkelijk op afstand te benaderen. Hoewel zowel POP als IMAP gebruikers in staat stellen op afstand een postbus te bereiken , biedt IMAP veel voordelen, waaronder: IMAP kan berichten zowel op de server op afstand opslaan als ze ophalen. IMAP ondersteunt gelijktijdig actualiseren. IMAP kan uitstekend worden gebruikt over langzame verbindingen omdat het gebruikers in staat stelt de structuur van berichten te bekijken zonder deze binnen te halen; het kan ook worden gebruikt om te zoeken op de server om zo de gegevensoverdracht tussen client en server te minimaliseren. Om een POP- of IMAP- server te installeren, zijn de volgende stappen nodig: Kies een IMAP- of POP -server die het beste aan de eisen voldoet. De volgende POP- en IMAP -servers zijn zeer bekend en zijn goede voorbeelden: qpopper; teapop; imap-uw; courier-imap; Installeer de gewenste POP- of IMAP-daemon vanuit de Portscollectie. Wijzig indien nodig /etc/inetd.conf om de POP- of IMAP - server te laden. Let er wel op dat zowel POP en IMAP informatie, waaronder gegevens over gebruikersnaam en wachtwoord, onversleuteld versturen. Dit betekent, dat wanneer het gewenst is dat de uitwisseling van gegevens over deze protocollen versleuteld is, het verstandig is om te overwegen de sessies over &man.ssh.1; te tunnelen. Het tunnelen van sessies wordt beschreven in . Toegang tot lokale postbussen Postbussen kunnen lokaal benaderd worden door direct op de server waarop de postbus wordt bewaard MUAs te gebruiken. Dit kan gedaan worden door programma's zoals mutt of &man.mail.1; te gebruiken. De mailhost mailhost De mailhost is de naam van de server welke verantwoordelijk is voor het afleveren en ontvangen van mail voor de server en mogelijk voor het netwerk. Christopher Shumway Bijgedragen door <application>sendmail</application> instellen sendmail &man.sendmail.8; is de standaard Mail Transfer Agent (MTA) in &os;. sendmail's taak is het accepteren van mail van gebruikersprogramma's (MUA ) en deze te bezorgen bij de juiste mailer zoals gedefinieerd in het betreffende configuratiebestand. sendmail kan ook netwerkverbindingen accepteren en mail in lokale postbussen afleveren of bezorgen bij een ander programma. sendmail gebruikt de volgende configuratiebestanden: /etc/mail/access /etc/mail/aliases /etc/mail/local-host-names /etc/mail/mailer.conf /etc/mail/mailertable /etc/mail/sendmail.cf /etc/mail/virtusertable Bestandsnaam Functie /etc/mail/access bestand met de toegangsdatabase van sendmail /etc/mail/aliases Aliases voor postbussen /etc/mail/local-host-names Lijst van servers waarvoor sendmail mail accepteert /etc/mail/mailer.conf Configuratie voor het mailerprogramma /etc/mail/mailertable Aflevertabel voor de mailer /etc/mail/sendmail.cf Hoofdconfiguratiebestand van sendmail /etc/mail/virtusertable Tabellen voor virtuele gebruikers en domeinen <filename>/etc/mail/access</filename> De toegangsdatabase definieert welke host(s) of IP-adressen toegang hebben tot de lokale mailserver en wat voor soort toegang ze hebben. Hosts kunnen in de lijst als , , of staan, of worden doorgevoerd naar de foutafhandelingsprocedure van sendmail met een bepaalde mailerfout. Hosts welke vermeld staan als , wat de standaard is, kunnen mail versturen naar deze host zolang de eindbestemming van de mail de lokale machine is. Hosts welke vermeld staan als worden voor alle verbindingen geweigerd. Hosts met een vermelding wordt toegestaan om via deze server mail naar elke bestemming te sturen. Configureren van de <application>sendmail</application> toegangsdatabase cyberspammer.com 550 We accepteren geen mail van spammers FREE.STEALTH.MAILER@ 550 We accepteren geen mail van spammers another.source.of.spam REJECT okay.cyberspammer.com OK 128.32 RELAY In dit voorbeeld staan vijf vermeldingen. Mailafzenders die overeenkomen met de linkerzijde van de tabel worden beïnvloed door de actie die vermeld staan aan de rechterzijde van de tabel. De eerste twee voorbeelden geven een foutcode af aan de foutafhandelingsroutine van sendmail. Het bericht wordt bij de externe host bekend gemaakt wanneer een mail voldoet aan de linkerzijde van de tabel. De volgende regel weigert mail van een specifieke host op het Internet, another.source.of.spam. De volgende regel accepteert mailverbindingen van een host okay.cyberspammer.com, welke nauwkeuriger is dan de regel met cyberspammer.com erboven. Specifiekere regels vervangen minder specifieke. De laatste regel staat het doorsturen van elektronische mail toe vanaf hosts waarvan de IP-adressen beginnen met 128.32 . Deze hosts zijn dan in staat om via deze mailserver naar een andere bestemming mail te versturen. Wanneer dit bestand is bijgewerkt, dient make in /etc/mail/ te gedraaid te worden om de database bij te werken. <filename>/etc/mail/aliases</filename> De aliasdatabase bevat een lijst met virtuele postbussen die verwijzen naar andere gebruiker(s), bestand(en), programma('s) of andere aliassen. Hier zijn een paar voorbeelden die gebruikt kunnen worden in /etc/mail/aliases: Mailaliassen root: localuser ftp-bugs: joe,eric,paul bit.bucket: /dev/null procmail: "|/usr/local/bin/procmail" Het bestandsformaat is simpel; de postbusnaam aan de linkerzijde van de dubbele punt wordt verder uitgewerkt naar de doel(en) aan de rechterzijde. Het eerste voorbeeld breidt de postbus van root uit naar de postbus localuser, welke dan vervolgens weer wordt opgezocht in de aliasdatabase. Als er geen verdere overeenkomst wordt gevonden, dan wordt het bericht afgeleverd bij de lokale gebruiker localuser. Het volgende voorbeeld toont een mailinglijst. Mail voor de postbus ftp-bugs wordt doorverwezen naar de drie lokale postbussen joe, eric en paul. Merk op dat een externe postbus gespecificeerd kan worden als user@example.com. Het volgende voorbeeld toont het schrijven van mail naar een bestand, in dit geval /dev/null. Het laatste voorbeeld toont het sturen van mail naar een programma, in dit geval wordt het mailbericht doorgestuurd naar de standaard invoer van /usr/local/bin/procmail via een &unix; pijp. Wanneer dit bestand is bijgewerkt, dient make in /etc/mail/ gedraaid te worden om de database bij te werken. <filename>/etc/mail/local-host-names</filename> Dit is een lijst van hostnamen die &man.sendmail.8; moet accepteren als de lokale hostnaam. Hierin dienen alle hostnamen geplaatst te worden waarvoor sendmail mail moet ontvangen. Als deze mailserver mail moet ontvangen voor het domein example.com en de hostnaam is mail.example.com, dan ziet local-host-names er ongeveer zo uit: example.com mail.example.com Wanneer dit bestand is bijgewerkt, dient &man.sendmail.8; opnieuw gestart te worden zodat het de veranderingen kan lezen. <filename>/etc/mail/sendmail.cf</filename> Het hoofdinstellingenbestand van sendmail , sendmail.cf controleert het algemene gedrag van sendmail, inclusief alles van het herschrijven van emailadressen tot het sturen van weigeringsberichten naar externe mailservers. Met zo'n diverse rol is dit instellingenbestand redelijk complex en vallen de details buiten het bereik van dit hoofdstuk. Gelukkig hoeft dit bestand maar zelden aangepast te worden voor standaard mailservers. Het hoofdinstellingenbestand van sendmail kan gebouwd worden met &man.m4.1; macro's die het gedrag en de mogelijkheden van sendmail specificeren. Lees /usr/src/contrib/sendmail/cf/README voor meer details. Wanneer dit bestand is bijgewerkt, dient &man.sendmail.8; opnieuw gestart te worden om de wijzigingen door te voeren. <filename>/etc/mail/virtusertable</filename> De virtusertable verbindt mailadressen voor virtuele domeinen en postbussen met echte postbussen. Deze postbussen kunnen lokaal, op afstand, aliassen gedefinieerd in /etc/mail/aliases, of bestanden zijn. Voorbeeld van een mailtabel voor een virtueel domein root@example.com root postmaster@example.com postmaster@noc.example.net @example.com joe In het voorbeeld hierboven staat een tabel voor een domein example.com. Dit bestand wordt van boven naar beneden verwerkt, en de eerste overeenkomende regel wordt gebruikt. De eerste regel verbindt root@example.com met de lokale postbus root. De volgende regel verbindt postmaster@example.com met de postbus postmaster op de host noc.example.net. Als geen van de vorige regels van example.com overeenkomen, zal de laatste regel gebruikt worden, die alle andere post geadresseerd aan iemand bij example.com opvangt en naar de lokale postbus joe stuurt. Andrew Boothman Geschreven door Gregory Neil Shapiro Informatie genomen uit emails geschreven door De Mail Transfer Agent vervangen email mta veranderen Zoals eerder vermeld wordt &os; geleverd met sendmail voorgeïnstalleerd als MTA (Mail Transfer Agent). Daarom regelt het standaard uitgaande en binnenkomende mail. In sommige gevallen willen systeembeheerders wegens uiteenlopende redenen hun MTA vervangen. Deze redenen variëren van het uitproberen van een andere MTA tot het installeren van een bepaalde functionaliteit of pakket dat afhankelijk is van een andere MTA. Een nieuwe MTA installeren Er is een waaier van MTA's beschikbaar. Een goed startpunt is de &os; Ports Collectie waar er veel gevonden kunnen worden. Het is natuurlijk mogelijk iedere MTA te gebruiken vanaf iedere locatie, zolang het draait op &os; . Begin met het installeren van de nieuwe MTA. Als de MTA eenmaal geïnstalleerd is wordt er de kans gegeven te beslissen of de nieuwe MTA echt voldoet aan de eisen, en is het mogelijk de nieuwe software te configureren voordat het het werk van sendmail overneemt. Bevestig voordat de MTA geïnstalleerd wordt dat de nieuwe software geen poging onderneemt systeemtoepassingen zoals /usr/bin/sendmail te overschrijven, anders wordt de nieuwe software onmiddellijk in gebruik genomen voordat het is geconfigureerd. Neem de documentatie van de gekozen MTA door voor meer informatie over het configureren van de software. <application>sendmail</application> uitschakelen Als sendmail's uitgaande emaildienst uitgeschakeld wordt, is het belangrijk dat het vervangen wordt door een alternatief systeem. Als ervoor gekozen wordt dit niet te doen, zullen systeemfunctionaliteiten zoals &man.periodic.8; niet in staat zijn hun resultaten te bezorgen per email, zoals ze normaliter verwachten te kunnen doen. Vele delen van het systeem zullen verwachten een werkend systeem aan te treffen dat compatibel is met sendmail. Als toepassingen binaries van sendmail blijven gebruiken om mail te versturen nadat deze uitgeschakeld werden , kan de mail in een inactieve sendmail wachtrij geplaatst worden, en nooit bezorgd worden. Om sendmail volledig uit te schakelen, inclusief de uitgaande emaildienst, dient sendmail_enable="NO" sendmail_submit_enable="NO" sendmail_outbound_enable="NO" sendmail_msp_queue_enable="NO" toegevoegd te worden aan /etc/rc.conf. Als enkel sendmail's ingaande emaildienst uitgeschakeld dient te worden, dient sendmail_enable="NO" toegevoegd te worden aan /etc/rc.conf. Meer informatie over de opstartopties van sendmail is beschikbaar in de hulppagina &man.rc.sendmail.8;. De nieuwe MTA starten tijdens het opstarten De nieuwe MTA kan gestart worden door deze instellingsregel toe te voegen aan /etc/rc.conf, zoals het volgende voorbeeld voor postfix: &prompt.root; echo 'postfix_enable=YES' >> /etc/rc.conf De MTA zal nu automatisch tijdens het opstarten worden gestart. <application>sendmail</application> vervangen als de standaard systeemmailer Het programma sendmail is zo vanzelfsprekend als standaard software op &unix; systemen dat sommige softwarepakketten ervan uitgaan dat sendmail reeds geïnstalleerd en geconfigureerd is. Daarom voorzien vele alternatieve MTA's in compatibele implementaties van de opdrachtregelinterface van sendmail; dit vergemakkelijkt het gebruik van alternatieve MTA's als vervanging voor sendmail. Bij het gebruiken van een alternatieve MTA moet men er zeker van zijn dat software die probeert de standaardtoepassingen van sendmail zoals /usr/bin/sendmail te gebruiken, ook daadwerkelijk de gekozen alternatieve mailer gebruikt. Gelukkig heeft &os; hiervoor een systeem, &man.mailwrapper.8;, dat deze taak van de systeembeheerder overneemt. Als sendmail werkt zoals origineel geïnstalleerd, bevat /etc/mail/mailer.conf bij benadering het volgende: sendmail /usr/libexec/sendmail/sendmail send-mail /usr/libexec/sendmail/sendmail mailq /usr/libexec/sendmail/sendmail newaliases /usr/libexec/sendmail/sendmail hoststat /usr/libexec/sendmail/sendmail purgestat /usr/libexec/sendmail/sendmail Dit wil zeggen dat wanneer een van deze algemene opdrachten (zoals sendmail zelf) uitgevoerd wordt, het systeem in werkelijkheid een kopie van de mailwrapper genaamd sendmail uitvoert, dat mailer.conf controleert en /usr/libexec/sendmail/sendmail uitvoert. Dit systeem maakt het eenvoudiger te specificeren welke toepassingen daadwerkelijk uitgevoerd worden wanneer deze standaard sendmail functies aangeroepen worden. Als men bijvoorbeeld wil dat /usr/local/supermailer/bin/sendmail-compat uitgevoerd wordt in plaats van sendmail, kan men /etc/mail/mailer.conf als volgt aanpassen: sendmail /usr/local/supermailer/bin/sendmail-compat send-mail /usr/local/supermailer/bin/sendmail-compat mailq /usr/local/supermailer/bin/mailq-compat newaliases /usr/local/supermailer/bin/newaliases-compat hoststat /usr/local/supermailer/bin/hoststat-compat purgestat /usr/local/supermailer/bin/purgestat-compat Afwerking Wanneer alles correct geconfigureerd is, dienen ofwel alle ongebruikte sendmail processen gestopt te worden en de processen behorend aan de nieuwe software gestart te worden, ofwel dient het systeem opnieuw gestart te worden. Herstarten geeft ook de mogelijkheid te controleren of de nieuwe MTA correct geconfigureerd is om tijdens het opstartproces gestart te worden. Problemen oplossen email problemen oplossen Waarom is het nodig om de FQDN te gebruiken voor hosts op de site? Het is waarschijnlijk dat de host zich in een ander domein bevindt; bijvoorbeeld als het gewenst is om host mompel in het domein bar.edu vanuit domein foo.bar.edu te bereiken, is het nodig om er met de volledig gekwalificeerde domeinnaam naar te verwijzen, mompel.bar.edu, in plaats van slechts mompel. BIND Traditioneel werd dit door BSD BIND resolvers toegestaan . De huidige versie van BIND die met &os; wordt geleverd levert niet langer standaard afkortingen voor onvolledig gekwalificeerde domeinnamen anders dan het huidige domein. Dus moet een ongekwalificeerde host mompel òf als mompel.foo.bar.edu gevonden worden, òf wordt er naar gezocht in het root domein. Dit verschilt van het vorige gedrag, waar de zoektocht doorging over mompel.bar.edu , en bar.edu. Zie RFC 1535 voor de redenen waarom dit als een slechte gewoonte en zelfs als beveiligingslek werd beschouwd. Als een goede tussenoplossing kan deze regel: search foo.bar.edu bar.edu in plaats van het voorgaande: domain foo.bar.edu in /etc/resolv.conf geplaatst worden. Ben er echter zeker van dat de zoekvolgorde niet verder gaat dan de grens tussen lokale en publieke regelgeving , zoals RFC 1535 het noemt. MX-regel sendmail zegt mail loops back to myself Dit wordt in de FAQ van sendmail als volgt beantwoord: Deze foutmeldingen verschijnen: 553 MX list for domain.net points back to relay.domain.net 554 <user@domain.net>... Local configuration error Hoe kan dit probleem worden opgelost? Er is gevraagd om mail van het domein (bijvoorbeeld domain.net) naar een specifieke host door te sturen (in dit geval relay.domain.net) door gebruik te maken van een MX-regel, maar de machine die het door moet sturen herkent zichzelf niet als domain.net. Voeg domain.net toe aan /etc/mail/local-host-names [bekend als /etc/sendmail.cw voor versies eerder dan 8.10] (als FEATURE(use_cw_file) gebruikt wordt) of voeg Cw domain.net toe aan /etc/mail/sendmail.cf. De FAQ van sendmail is te vinden op en wordt aangeraden om te lezen indien enig tweaken van de mailinstallatie gewenst is. PPP Hoe kan een mailserver op een inbel-PPP-host gedraaid worden? Het is gewenst om een &os;-computer in een LAN met het Internet te verbinden. De &os;-computer zal en mail-gateway voor het LAN zijn. De PPP-verbinding is niet toegewijd. UUCP MX-regel Er zijn minstens twee manieren om dit te doen. Eén manier is om UUCP te gebruiken. Een andere manier is ervoor te zorgen dat een server die altijd met het Internet verbonden is secundaire MX-diensten voor het domein biedt. Als het domein bijvoorbeeld example.com is en de internetprovider example.net heeft ingesteld om secundaire MX-diensten voor het domein te bieden: example.com. MX 10 example.com. MX 20 example.net. Er dient slechts één host als de uiteindelijke ontvanger gespecificeerd te worden (voeg CW example.com toe aan /etc/mail/sendmail.cf op example.com>). Wanneer de verzendende sendmail probeert om mail af te leveren zal het proberen met example.com te verbinden via de modemverbinding. Waarschijnlijk zal dit een time-out geven omdat de computer niet online is. Het programma sendmail zal het automatisch aan de secundaire MX-site, de internetprovider (example.net) afleveren. De secundaire MX zal dan periodiek proberen om een verbinding te maken met de computer en de mail aan de primaire MX-host leveren (example.com). Het kan wenselijk zijn om iets als het onderstaande als inlogscript te gebruiken: #!/bin/sh # Zet mij in /usr/local/bin/pppmyisp ( sleep 60 ; /usr/sbin/sendmail -q ) & /usr/sbin/ppp -direct pppmyisp Indien er een apart inlogscript voor een gebruiker wordt aangemaakt, kan sendmail -qRexample.com gebruikt worden in plaats van het bovenstaande script. Dit zorgt ervoor dat alle mail in de mailrij voor example.com onmiddellijk verwerkt wordt. Een verdere verfijning van de situatie is deze: Bericht gestolen van de &a.isp;. > we bieden de secundaire MX voor een klant. > De klant maakt automatisch verschillende keren per dag een verbinding > met onze diensten om de mailberichten naar zijn primaire MX te > sturen (we bellen zijn site niet indien er een mail voor zijn > domein arriveert). Onze sendmail verstuurt de mailrij om de 30 > minuten. Op het moment moet de klant 30 minuten online blijven om > er zeker van te zijn dat alle mail naar de primaire MX is gegaan. > > Is er een commando dat sendmail er toe aanzet om alle mailberichten > nu te versturen? De gebruiker heeft uiteraard geen root-rechten op > onze machine. In de sectie privacy flags van sendmail.cf staat een definitie Opgoaway,restrictqrun Verwijder restrictqrun om niet-root-gebruikers toe te staan te beginnen de rij te verwerken. Het kan ook wenselijk zijn om de MXs opnieuw te rangschikken. Wij zijn zo de eerste MX voor onze klanten, en we hebben dit gedefinieerd: # Als we de beste MX voor een host zijn, probeer direct in plaats van # een lokale configuratiefout te genereren. OwTrue Op deze manier zal een site op afstand rechtstreeks hier afleveren, zonder de verbinding van de klant te proberen. Vervolgens wordt er naar de klant verstuurd. Dit werkt alleen voor hosts, dus dient de klant hun mailcomputer customer.com te noemen en hostname.customer.com in de DNS de plaatsen. Plaats een A-regel in de DNS voor customer.com. Waarom blijven er fouten als Relaying Denied verchijnen wanneer er mail van andere hosts wordt verstuurd? In standaard &os;-installaties is sendmail geconfigureerd om alleen mail te versturen van de host waarop het draait. Als bijvoorbeeld een POP-server beschikbaar is, kunnen gebruikers mail controleren vanuit school, werk, of andere lokaties op afstand, maar zullen ze nog steeds niet in staat zijn om uitgaande emails van lokaties van buitenaf te versturen. Gewoonlijk zal er na enkele ogenblikken na de poging een email van MAILER-DEAMON worden verzonden met een foutbericht 5.7 Relaying Denied. Er zijn verschillende manieren om dit te omzeilen. De oplossing die het meest voor de hand ligt, is om het adres van de internetprovider in een bestand relay-domains op /etc/mail/relay-domains te zetten. Een snelle manier om dit te doen is: &prompt.root; echo "your.isp.example.com" > /etc/mail/relay-domains Nadat dit bestand is aangemaakt of bewerkt dient sendmail opnieuw gestart te worden. Dit werkt prima indien u een serverbeheerder bent en het niet wenselijk is om mail lokaal te verzenden, of indien het gewenst is om een point-en-click client/systeem op een andere machine of zelfs bij een andere internetprovider te gebruiken. Het is ook erg bruikbaar indien er slechts enkele email-accounts zijn aangemaakt. Als er een groot aantal adressen dient te worden toegevoegd, kan dit bestand in worden geopend en de domeinen worden toegevoegd, één per regel: your.isp.example.com other.isp.example.net users-isp.example.org www.example.org Nu zal het verzenden van elke mail door dit systeem, verstuurd door elke host in deze lijst, lukken (aangenomen dat de gebruiker een account op het systeem heeft). Dit is een aardige manier om gebruikers toe te staan op afstand mail vanaf het systeem te verzenden zonder dat mensen wordt toegestaan om spam vanaf het systeem te verzenden. Geavanceerde onderwerpen De volgende sectie behandelt meer ervaren onderwerpen zoals mailinstellingen en het instellen van mail voor het gehele domein. Basisinstellingen email instellingen Het verzenden van email naar externe hosts zou onmiddellijk moeten werken, zolang /etc/resolv.conf is aangemaakt of zolang er een nameserver wordt gedraaid. Indien het gewenst is dat mail voor de host aan de MTA (bijvoorbeeld sendmail) geleverd dient te worden op de &os;-host, zijn er twee methoden: Draai een eigen nameserver op een eigen domein, bijvoorbeeld FreeBSD.org Zorg ervoor dat mail direct aan de host geleverd wordt. Dit wordt gedaan door mail direct aan de huidige DNS-naam voor de machine, bijvoorbeeld example.FreeBSD.org, te leveren. SMTP Onafhankelijk van de hierboven gekozen methode, dient de host, om er direct mail aan geleverd te krijgen, een permanent statisch IP-adres te hebben (niet een dynamisch adres, zoals dat bij de meeste PPP-inbelverbindingen het geval is). Indien er een firewall actief is, dient het SMTP-verkeer naar de host door te geven. Indien het gewenst is dat de host direct mail ontvangt, dient één van de twee onderstaande dingen geregeld te zijn: MX-regel Zorg ervoor dat de (laagstgenummerde) MX-regel in het DNS naar het IP-adres van de host wijst. Zorg ervoor dat er geen MX-regel in het DNS is voor de host. Met elk van de bovenstaanden kan mail direct op de host ontvangen worden. Probeer dit: &prompt.root; hostname example.FreeBSD.org &prompt.root; host example.FreeBSD.org example.FreeBSD.org has address 204.216.27.XX Indien dit verschijnt, zal mail die direct naar yourlogin@example.FreeBSD.org zonder problemen moeten werken (aangenomen dat sendmail correct werkt op example.FreeBSD.org). Indien in plaats daarvan zoiets als dit verschijnt: &prompt.root; host example.FreeBSD.org example.FreeBSD.org has address 204.216.27.XX example.FreeBSD.org mail is handled (pri=10) by hub.FreeBSD.org zal alle mail die naar de host ( example.FreeBSD.org) verzameld worden op hub onder dezelfde gebruikersnaam in plaats van direct naar de host verstuurd te worden. Bovenstaande informatie wordt door de DNS-server afgehandeld . De DNS-regel die informatie over het routen van mail bevat is de Mail eXchange regel . Indien er geen MX-regel is, zal mail direct aan de host worden afgeleverd door middel van het IP-adres. De MX-regel voor freefall.FreeBSD.org zag er eens als volgt uit: freefall MX 30 mail.crl.net freefall MX 40 agora.rdrop.com freefall MX 10 freefall.FreeBSD.org freefall MX 20 who.cdrom.com Te zien is dat freefall vele MX-regels had. Het laagste MX-getal hoort bij de host die de mail direct ontvangt indien beschikbaar; indien het om een of andere reden niet beschikbaar is, accepteren de anderen (soms reserve-MXs genoemd) tijdelijk berichten en geven ze die door wanneer een lager-genummerde host beschikbaar is, om uiteindelijk aan de laagstgenummerde host af te leveren. Alternatieve MX-sites zouden andere Internetverbindingen dan die van de host moeten hebben om het nuttigst te zijn. De internetprovider of een andere vriendelijke site zouden geen problemen moeten hebben met het leveren van deze dienst. Mail voor het domein Om een mailhost (ook bekend als een mailserver) te installeren, is het nodig om mail die verzonden wordt naar de verschillende werkstations ernaar toe te leiden. In principe dient alle mail voor elke hostnaam in het domein (in dit geval *.FreeBSD.org) geclaimd te worden en naar de mailserver omgeleid te worden zodat gebruikers hun mail op de hoofdmailserver kunnen ontvangen. DNS Het gemakkelijkste is het indien er een gebruikersaccount met dezelfde gebruikersnaam op beide machines bestaat. Hiervoor dient &man.adduser.8; gebruikt te worden. De mailhost die het meest gebruikt zal worden is de toegewezen mailuitwisselaar voor elk werkstation in het netwerk. Dit wordt in de DNS-instellingen als volgt gedaan: example.FreeBSD.org A 204.216.27.XX ; werkstation MX 10 hub.FreeBSD.org ; mailhost Dit zal mail voor het werkstation naar de mailhost leiden onafhankelijk van waar de A-regel naar toe wijst. De mail wordt naar de MX-host verzonden. Om dit te doen is het nodig om een eigen DNS-server te draaien. Neem, indien dit niet het geval is of het niet mogelijk is om een eigen DNS-server te draaien, contact op met degene die de DNS levert. De volgende informatie is nuttig indien email virtueel gehost wordt. In dit voorbeeld wordt aangenomen dat er een klant is met een eigen domein, in dit geval customer1.org, en dat alle mail voor customer1.org naar de mailhost mail.myhost.com verzonden dient te worden. De regel in het DNS dient er als volgt uit te zien: customer1.org MX 10 mail.myhost.com Het is niet nodig om een A-regel voor customer1.org te hebben als er voor dat domein alleen email afgehandeld dient te worden. Let erop dat customer1.org pingen niet werkt tenzij er een A-regel voor bestaat . Als laatste dient sendmail op de mailhost te weten voor welke domeinen en/of hostnamen het mail dient te accepteren. Er bestaan enkele verschillende manieren om dit te doen. Elk van de volgende manieren zal werken: Voeg de hosts toe aan het bestand /etc/mail/local-host-names indien FEATURE(use_cw_literal). Indien er een versie van sendmail wordt gebruikt die ouder is dan 8.10, is het te gebruiken bestand /etc/sendmail.cw. Voeg een regel met Cwyour.host.com toe aan /etc/sendmail.cf of aan /etc/mail/sendmail.cf indien versie 8.10 of nieuwer van sendmail wordt gebruikt. SMTP met UUCP De instellingen van sendmail die met &os; worden geleverd zijn ontworpen voor sites die een directe verbinding met het Internet hebben. Sites waarvoor de mail via UUCP willen uitwisselen dienen een ander instellingenbestand voor sendmail te installeren. Het handmatig bijstellen van /etc/mail/sendmail.cf is een geavanceerd onderwerp. Versie 8 van sendmail genereert instellingenbestanden via &man.m4.1; preprocessing, waarbij het eigenlijke instellen op een hoger abstractieniveau plaatsvindt. De instellingenbestanden voor &man.m4.1; kunnen onder /usr/share/sendmail/cf gevonden worden. Het bestand README in de map cf kan dienen als een basisintroductie tot het instellen van &man.m4.1;. De beste manier om UUCP te ondersteunen is het gebruiken van de eigenschap mailertable. Dit maakt een database aan die sendmail kan gebruiken om beslissingen over routes te nemen. Als eerste dient het .mc-bestand aangemaakt te worden. De map /usr/share/sendmail/cf/cf bevat enkele voorbeelden. Indien het bestand foo.mc heet, hoeft slechts het volgende gedaan te worden om het in een geldig sendmail.cf om te zetten: &prompt.root; cd /etc/mail &prompt.root; make foo.cf &prompt.root; cp foo.cf /etc/mail/sendmail.cf Een typisch .mc-bestand kan er als volgt uitzien: VERSIONID(`Uw versienummer') OSTYPE(bsd4.4) FEATURE(accept_unresolvable_domains) FEATURE(nocanonify) FEATURE(mailertable, `hash -o /etc/mail/mailertable') define(`UUCP_RELAY', uw.uucp.relay) define(`UUCP_MAX_SIZE', 200000) define(`confDONT_PROBE_INTERFACES') MAILER(local) MAILER(smtp) MAILER(uucp) Cw uw.alias.host.naam Cw uwuucpnodenaam.UUCP De regels die de eigenschappen accept_unresolvable_domains, nocanonify, en confDONT_PROBE_INTERFACES bevatten zorgen ervoor dat er geen gebruik wordt gemaakt van het DNS tijdens het afleveren van mail. De clausule UUCP_REPLAY is nodig om UUCP-aflevering te ondersteunen. Hier dient een hostnaam op het Internet ingevuld te worden die .UUCP pseudo-domeinadressen kan afhandelen, waarschijnlijk zal dit de mailrelay van de Internetprovider zijn. Nadat dit gedaan is, is er een bestand /etc/mail/mailertable nodig. Indien er slechts één verbinding naar buiten is die voor alle mails gebruikt wordt, zal het volgende bestand volstaan: # # makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable . uucp-dom:uw.uucp.relay Een complexer voorbeeld kan er als volgt uitzien: # # makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable # horus.interface-business.de uucp-dom:horus .interface-business.de uucp-dom:if-bus interface-business.de uucp-dom:if-bus .heep.sax.de smtp8:%1 horus.UUCP uucp-dom:horus if-bus.UUCP uucp-dom:if-bus . uucp-dom: De eerste drie regels behandelen speciale gevallen waarbij domein-geadresseerde mail niet naar de standaardroute verzonden dient te worden, maar in plaats daarvan naar een UUCP-buur om het afleverpad af te snijden. De volgende regel handelt mail naar het lokale Ethernetdomein die met SMTP afgeleverd kan worden af. Als laatste worden UUCP-buren in de .UUCP-pseudodomeinnotatie genoemd, om een uucp-buur!ontvanger -overname toe te staan. De laatste regel bestaat altijd uit een enkele punt, dat met al het andere matcht, met UUCP-aflevering naar een UUCP-buur die als universele mail-gateway naar de wereld dient. Alle nodenamen achter het sleutelwoord uucp-dom: dienen geldige UUCP-buren te zijn, dat met het commando uuname gecontroleerd kan worden. Dit bestand dient naar een DBM-database omgezet te worden voor gebruik. De opdrachtregel om dit te doen kan het beste als commentaar bovenaan het bestand mailertable gezet worden. Deze opdracht dient telkens wanneer het bestand mailertable wordt gewijzigd uitgevoerd te worden. Laatste tip: indien de werking van een zekere mailroute niet zeker is, kan de optie van sendmail gebruikt worden. Het start sendmail in adrestestmodus op ; voer 3,0 gevolgd door het adres dat voor de mailrouting getest dient te worden in. De laatste regel bevat de gebruikte interne mailagent, de bestemmingshost waarmee deze agent aangeroepen wordt, en het (mogelijk vertaalde) adres. Deze modus kan door het typen van Ctrl D verlaten worden. &prompt.user; sendmail -bt ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) Enter <ruleset> <address> > 3,0 foo@example.com canonify input: foo @ example . com ... parse returns: $# uucp-dom $@ uw.uucp.relay $: foo < @ example . com . > > ^D Bill Moran Bijgedragen door Instellen om alleen te versturen Er zijn veel gevallen waarbij het gewenst is om enkel mail te verzenden via een relay. Voorbeelden hiervan zijn: De computer is een desktop, maar het is gewenst om programma's als &man.send-pr.1; te gebruiken. Hiervoor dient de mailrelay van de internetprovider gebruikt te worden. De computer is een server welke mail niet lokaal verwerkt, maar alle mail voor verwerking doorstuurt. Zowat elke MTA kan deze specifieke taak vervullen. Helaas kan het erg moeilijk zijn om een MTA met alle mogelijkheden correct in te stellen om alleen uitgaande mail te behandelen. Programma's als sendmail en postfix zijn hiervoor grotendeels overbodig. Ook kan het zijn dat de overeenkomst van een typisch internetabonnement het draaien van een mail server verbiedt. De gemakkelijkste manier om aan deze behoeften te voldoen is door de port mail/ssmtp te installeren. Voer als root de volgende opdrachten uit: &prompt.root; cd /usr/ports/mail/ssmtp &prompt.root; make install replace clean Eenmaal geïnstalleerd kan mail/ssmtp door middel van het vier-regelige bestand /usr/local/etc/ssmtp/ssmtp.conf ingesteld worden: root=uwechteemail@example.com mailhub=mail.example.com rewriteDomain=example.com hostname=_HOSTNAME_ Let erop dat het echte emailadres voor root gebruikt wordt. Vervang mail.example.com door de uitgaande mail relay van de internetprovider (ook wel de uitgaande mailserver of SMTP-server genoemd). Let erop dat sendmail uitgeschakeld wordt, inclusief de uitgaande maildienst. Raadpleeg voor details. mail/ssmtp heeft nog meer mogelijkheden. Raadpleeg het voorbeeldinstelbestand /usr/local/etc/ssmtp of de hulppagina van ssmtp voor enkele voorbeelden en meer informatie. Door ssmtp op deze manier in te stellen kan alle software op de computer welke mail dient te versturen correct functioneren, zonder dat het beleid van de internetprovider geschonden wordt of dat de computer gekaapt kan worden om spam mee te versturen. Mail gebruiken met een inbelverbinding Indien het IP-adres statisch is, is het niet nodig om de standaardwaarden aan te passen. De toegewezen Internetnaam dient als hostnaam gebruikt te worden waarna sendmail de rest kan doen. Indien het IP-adres dynamisch is en er een inbelverbinding naar het Internet gebruikt wordt, is de postbus waarschijnlijk op de mailserver van de Internetprovider geplaatst. Stel dat het domein van de Internetprovider example.net is, dat de gebruikersnaam gebruiker is, dat de machine bsd.home is, en dat volgens de Internetprovider relay.example.net als mailrelay gebruikt kan worden. Om mail van de postbus te ontvangen, dient er een ontvangstagent geïnstalleerd te worden. Het gereedschap fetchmail is een goede keuze omdat het veel verschillende protocollen ondersteunt. Dit programma is als pakket of vanuit de Portscollectie ( mail/fetchmail) beschikbaar. Normaliter levert de Internetprovider POP. Indien gebruikers-PPP gebruikt wordt, kan de mail automatisch worden opgehaald wanneer er een verbinding met Internet tot stand is gebracht door middel van de volgende regel in /etc/ppp/ppp.linkup: MYADDR: !bg su gebruiker -c fetchmail Indien sendmail gebruikt wordt ( zoals hieronder te zien is) om mail aan niet-lokale accounts af te leveren, is het waarschijnlijk gewenst dat sendmail de mailrij verwerkt zodra er een Internetverbinding tot stand is gebracht. Hiervoor dient de volgende opdracht na de fetchmail-opdracht in /etc/ppp/ppp.linkup geplaatst te worden: !bg su gebruiker -c "sendmail -q" Aangenomen wordt dat er een account voor gebruiker op bsd.home aanwezig is. In de thuismap van gebruiker op bsd.home dient een bestand .fetchmailrc aangemaakt te worden: poll example.net protocol pop3 fetchall pass MijnGeheim Dit bestand dient alleen voor gebruiker leesbaar te zijn aangezien het het wachtwoord MijnGeheim bevat. Om mail met de correcte from:-header te versturen, dient sendmail gebruiker@example.net in plaats van gebruiker@bsd.home te gebruiken. Het kan ook wenselijk zijn om sendmail alle mail via relay.example.net te versturen, om sneller mail te verzenden. Het volgende .mc zou voldoende moeten zijn: VERSIONID(`bsd.home.mc version 1.0') OSTYPE(bsd4.4)dnl FEATURE(nouucp)dnl MAILER(local)dnl MAILER(smtp)dnl Cwlocalhost Cwbsd.home MASQUERADE_AS(`example.net')dnl FEATURE(allmasquerade)dnl FEATURE(masquerade_envelope)dnl FEATURE(nocanonify)dnl FEATURE(nodns)dnl define(`SMART_HOST', `relay.example.net') Dmbsd.home define(`confDOMAIN_NAME', `bsd.home')dnl define(`confDELIVERY_MODE', `deferred')dnl In de vorige sectie staan de details over het omzetten van een .mc-bestand in bestand sendmail.cf . Ook dient sendmail herstart te worden na het wijzigen van sendmail.cf . James Gorham Geschreven door SMTP-authenticatie Het hebben van SMTP-authenticatie op een mailserver heeft een aantal voordelen. SMTP- authenticatie kan een extra beveiligingslaag toevoegen aan sendmail, en het geeft mobiele gebruikers die van hosts wisselen de mogelijkheid om dezelfde mailserver te gebruiken zonder dat ze telkens de instellingen van hun mailclient moeten veranderen. Installeer security/cyrus-sasl2 vanuit de ports. Deze port is te vinden in security/cyrus-sasl2. De port security/cyrus-sasl2 ondersteund een aantal opties tijdens de compilatie. Voor de SMTP-authenticatiemethode die hier gebruikt wordt, dient de optie te zijn uitgezet. Voeg nadat security/cyrus-sasl2 is geïnstalleerd deze regel toe aan /usr/local/lib/sasl2/Sendmail.conf: pwcheck_method: saslauthd Installeer vervolgens security/cyrus-sasl2-saslauthd , en voeg de volgende regel toe aan /etc/rc.conf : saslauthd_enable="YES" en start vervolgens het saslauthd-daemon op: &prompt.root; /usr/local/etc/rc.d/saslauthd start Deze daemon fungeert als een onderhandelaar voor sendmail die zich tegen de &os; passwd-database authenticeert. Dit bespaart de moeite van het opnieuw creëren van een nieuwe verzameling gebruikersnamen en wachtwoorden voor elke gebruiker die SMTP-authenticatie nodig heeft, en het houdt de wachtwoorden voor het inloggen en de mail hetzelfde. Voeg de volgende regels toe aan /etc/rc.conf : SENDMAIL_CFLAGS=-I/usr/local/include/sasl -DSASL SENDMAIL_LDFLAGS=-L/usr/local/lib SENDMAIL_LDADD=-lsasl2 Deze regels geven sendmail de juiste instelopties om tijdens het compileren met cyrus-sal2 te linken. Zorg ervoor dat cyrus-sasl2 is geïnstalleerd voordat sendmail wordt gehercompileerd. Hercompileer sendmail door de volgende opdrachten uit te voeren: &prompt.root; cd /usr/src/lib/libsmutil &prompt.root; make cleandir && make obj && make &prompt.root; cd /usr/src/lib/libsm &prompt.root; make cleandir && make obj && make &prompt.root; cd /usr/src/usr.sbin/sendmail &prompt.root; make cleandir && make obj && make && make install Het compileren van sendmail zou geen problemen moeten geven indien /usr/src niet veel veranderd is en dat de benodigde gedeelde bibliotheken aanwezig zijn. Nadat sendmail is gecompileerd en opnieuw is gecompileerd, dient /etc/mail/freebsd.mc (of het plaatselijke .mc-bestand) gewijzigd te worden. Veel beheerders kiezen ervoor om de uitvoer van &man.hostname.1; als .mc-bestandsnaam te gebruiken vanwege de uniciteit. Voeg deze regels toe: dnl set SASL options TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl Deze opties stellen de verschillende beschikbare methoden voor sendmail in om gebruikers te authenticeren. Gebruik de bijgeleverde documentatie indien een andere methode dan pwcheck gewenst is. Voer als laatste &man.make.1; in /etc/mail uit. Hierdoor wordt het nieuwe .mc -bestand uitgevoerd en wordt een bestand freebsd.cf (of de plaatselijke variant ervan) aangemaakt. Voer hierna de opdracht make install restart uit, wat het bestand naar sendmail.cf kopieert en sendmail op de juiste manier herstart. In /etc/mail/Makefile staat meer informatie over dit proces. Indien alles goed is gegaan, moet het mogelijk zijn om de inloginformatie in de mailclient in te voeren en een testbericht te versturen. Zet voor verdere onderzoekingen de van sendmail op 13 en houdt /var/log/maillog in de gaten voor foutmeldingen. Refereer naar de sendmail-pagina betreffende SMTP-authenticatie voor meer informatie. Marc Silver Bijgedragen door Mail User Agents Mail User Agents Een mail user agent (MUA) is een toepassing die wordt gebruikt om email te versturen en te ontvangen. Bovendien, omdat email evolueert en steeds complexer wordt, worden MUAs steeds krachtiger in de manier waarop ze met email omgaan; dit biedt gebruikers verhoogde functionaliteit en flexibiliteit. &os; ondersteunt verschillende mail user agents die allemaal eenvoudig geïnstalleerd kunnen worden door de &os; Ports Collectie te gebruiken. Gebruikers kunnen kiezen tussen grafische emailclients zoals evolution of balsa, op de console gebaseerde clients zoals mutt, pine of mail, of de webinterface die door sommige grote organisaties wordt gebruikt. mail &man.mail.1; is de standaard mail user agent (MUA) in &os;. Het is een consolegebaseerde MUA die alle basisfunctionaliteit biedt die nodig is om tekstgebaseerde email te verzenden en te ontvangen, maar het is beperkt in de mogelijkheden om met bijlagen om te gaan en het ondersteunt alleen plaatselijke postbussen. Hoewel mail van huis uit geen ondersteuning voor POP- of IMAP -servers biedt, kunnen deze postbussen gedownload worden naar een lokaal mbox-bestand door een toepassing als fetchmail te gebruiken, welke later in dit hoofdstuk behandeld wordt (). Om email te versturen en te ontvangen, is het voldoende om de opdracht mail te geven zoals in het volgende voorbeeld: &prompt.user; mail De inhoud van de gebruikerspostbus in /var/mail wordt automatisch gelezen door het programma mail. Indien de postbus leeg is, eindigt het programma het een melding dat er geen mail gevonden kon worden. Wanneer de postbus is gelezen, wordt de applicatie-interface gestart, en wordt er een berichtenlijst weergegeven. Berichten worden automatisch genummerd, zoals in het volgende voorbeeld te zien is: Mail version 8.1 6/6/93. Type ? for help. "/var/mail/marcs": 3 messages 3 new >N 1 root@localhost Mon Mar 8 14:05 14/510 "test" N 2 root@localhost Mon Mar 8 14:05 14/509 "user account" N 3 root@localhost Mon Mar 8 14:05 14/509 "sample" Berichten kunnen nu worden gelezen door middel van het commando t van mail, gevolgd door het gewenste berichtnummer. In dit voorbeeld wordt de eerste email gelezen: & t 1 Message 1: From root@localhost Mon Mar 8 14:05:52 2004 X-Original-To: marcs@localhost Delivered-To: marcs@localhost To: marcs@localhost Subject: test Date: Mon, 8 Mar 2004 14:05:52 +0200 (SAST) From: root@localhost (Charlie Root) This is a test message, please reply if you receive it. Zoals in bovenstaand voorbeeld te zien is, zorgt de toets t ervoor dat het bericht met volledige headers wordt getoond. Om de berichtenlijst nogmaals weer te geven, dient de toets h gebruikt te worden. Er kan met mail op een email gereageerd worden, door gebruik te maken één van de toetsen R of r. De toets R vertelt mail dat er alleen aan de verzender van het bericht geantwoord dient te worden, terwijl de toets r niet alleen aan de verzender antwoordt, maar ook aan andere ontvangers van het bericht. Het is ook mogelijk om achter deze commando's het berichtnummer te plaatsen waarop gereageerd dient te worden. Nadat dit gedaan is , dient het antwoord gegeven te worden, en dient het einde van het bericht aangegeven te worden met een enkele . op een nieuwe regel. Een voorbeeld staat hieronder: & R 1 To: root@localhost Subject: Re: test Thank you, I did get your email. . EOT Om een nieuwe email te verzenden, dient de toets m gebruikt te worden, gevolgd door het adres van de ontvanger. Er kunnen meerdere ontvangers gespecificeerd worden door ze met een , te scheiden. Hierna kan het onderwerp van het bericht worden gegeven, gevolgd door de inhoud van het bericht. Het einde van het bericht dient te worden aangegeven door een enkele . op een nieuwe regel te plaatsen. & mail root@localhost Subject: I mastered mail Now I can send and receive email using mail ... :) . EOT Binnen het programma mail kan op elk moment de opdracht ? gebruikt worden om hulp weer te geven, hiervoor kan ook de hulppagina &man.mail.1; worden geraadpleegd. Zoals eerder is aangegeven, is het programma &man.mail.1; van origine niet ontworpen om met bijlagen om te gaan, dus behandelt het deze slecht. Nieuwere MUAs zoals mutt gaan veel intelligenter met bijlagen om. Maar indien het programma mail nog steeds geprefereerd wordt, kan de port converters/mpack van aanzienlijk nut zijn. mutt mutt is een kleine doch zeer krachtige mail user agent, met uitstekende mogelijkheden, waaronder: De mogelijkheid om berichten te threaden; PGP-ondersteuning voor het digitaal ondertekenen en versleutelen van email; MIME-ondersteuning; Maildir-ondersteuning; Erg goed aan te passen. Al deze eigenschappen zorgen ervoor dat mutt een van de meest geavanceerde beschikbare mail user agents is. Op staat meer informatie. De stabiele versie van mutt kan geïnstalleerd worden door de port mail/mutt te gebruiken, terwijl de huidige ontwikkelaarsversie geïnstalleerd kan worden via de port mail/mutt-devel. Nadat de port is geïnstalleerd, kan mutt gestart worden met het volgende commando: &prompt.user; mutt mutt zal automatisch de inhoud van de gebruikerspostbus in /var/mail lezen en de inhoud weergeven indien van toepassing. Indien er geen mails gevonden zijn in de gebruikerspostbus, zal mutt wachten voor opdrachten van de gebruiker. Het onderstaande voorbeeld laat zien hoe mutt een lijst berichten weergeeft: Om een email te lezen is het voldoende om het met de cursortoetsen te selecteren, en Enter aan te slaan. Een voorbeeld waarbij mutt email laat zien staat hieronder:: Net zoals het commando &man.mail.1; staat mutt gebruikers toe om alleen de afzender alsook alle ontvangers te beantwoorden. Om alleen de afzender van de email te antwoorden, wordt de toets r gebruikt. Om aan een groep te antwoorden, welke aan zowel de originele afzender als aan alle berichtontvangers wordt gestuurd, wordt de toets g gebruikt. mutt maakt gebruikt van het programma &man.vi.1; als tekstverwerker voor het aanmaken en beantwoorden van emails. De gebruiker kan dit aanpassen door een eigen .muttrc aan te maken in hun thuismap en de variabele editor of de omgevingsvariabele EDITOR aan te passen. Zie voor meer informatie over het instellen van mutt. Voor het opstellen van een nieuw mailbericht wordt de toets m gebruikt. Nadat er een geldig bericht is gegeven, start mutt &man.vi.1; op en kan de mail geschreven worden. Nadat de inhoud van de mail is geschreven, zal mutt nadat vi verlaten is, zichzelf hervatten en een overzichtsscherm van de te verzenden mail afbeelden. Om de mail te versturen wordt de toets y gebruikt. Een voorbeeld van het overzichtsscherm is hieronder te zien: mutt bevat ook uitgebreide hulp, welke in de meeste menu's geactiveerd kan worden door de toets ? aan te slaan. De bovenste regel geeft ook de relevante toetsen aan. pine pine richt zich op de beginnende gebruiker, maar bevat ook geavanceerde mogelijkheden. Er zijn in het verleden verschillende kwetsbaarheden voor pine ontdekt, welke aanvallers op afstand in staat stelden om willekeurige code als gebruikers op het lokale systeem uit te voeren, door een speciaal voorbereide email te versturen. Alle bekende problemen van dit type zijn gerepareerd, maar de code van pine is op een zeer onveilige manier geschreven en de beveiligingsofficier van &os; gelooft dat het waarschijnlijk is dat er nog meer onontdekte kwetsbaarheden zijn. Installeer pine op eigen risico. De huidige versie van pine kan door middel van de port mail/pine4 geïnstalleerd worden. Wanneer de port geïnstalleerd is, kan pine met het volgende commando gestart worden: &prompt.user; pine De eerste keer dat pine wordt gedraaid geeft het een welkomstpagina met een korte introductie weer, alsmede een verzoek van het ontwikkelteam van pine om een anoniem emailbericht te versturen wat ze in staat stelt om te beoordelen hoeveel gebruikers hun client gebruiken. Druk op Enter om dit anonieme bericht te versturen, of druk op E om het welkomstscherm te verlaten zonder een anoniem bericht te versturen. Een voorbeeld van het welkomstscherm is hieronder te zien: Vervolgens wordt het hoofdmenu getoond, waarin gemakkelijk met de cursortoetsen kan worden genavigeerd. Dit hoofdmenu biedt afkortingen voor het schrijven van nieuwe mail, het doorbladeren van mailmappen, en zelfs het beheren van het adresboek. Onder het hoofdmenu worden relevante toetscombinaties voor de huidige taak getoond. De standaardmap die door pine wordt geopend is de inbox . Gebruik de toets I om de berichtenindex te zien, of selecteer de optie MESSAGE INDEX zoals hieronder te zien is: De berichtenindex geeft de berichten in de huidige map weer, en kan met de cursortoetsen worden genavigeerd. Gemarkeerde berichten kunnen worden gelezen door op Enter te drukken. In onderstaand screenshot wordt een voorbeeldbericht door pine weergegeven. Toetsencombinaties worden ter referentie aan de onderkant van het scherm weergegeven. Een voorbeeld van een van deze combinaties is de toets r, welke de MUA vertelt op het huidige bericht te antwoorden. Voor het beantwoorden van een bericht wordt in pine gebruikt gemaakt van de tekstverwerker pico, welke standaard bij pine wordt geïnstalleerd. Het programma pico maakt het gemakkelijk om in het bericht te navigeren en is meer vergevingsgezind voor nieuwe gebruikers dan &man.vi.1; of &man.mail.1;. Wanneer het antwoord voltooid is, kan het bericht worden verzonden door CtrlX te gebruiken. Het programma pine zal om bevestiging vragen. Het programma pine kan worden aangepast door de optie SETUP van het hoofdmenu te gebruiken. Raadpleeg voor meer informatie. Marc Silver Bijgedragen door fetchmail gebruiken fetchmail fetchmail is een volwaardige client voor IMAP en POP welke gebruikers in staat stelt om automatisch mail van IMAP- en POP-servers op afstand naar plaatselijke postbussen te downloaden; daar kan het gemakkelijker worden benaderd. fetchmail kan met de port mail/fetchmail worden geïnstalleerd, en biedt verschillende mogelijkheden, waaronder: Ondersteuning voor POP3, APOP, KPOP, IMAP, ETRN, en ODMR protocollen. De mogelijkheid om mail via SMTP door te sturen, wat filteren, doorsturen, en aliassen toestaat om normaal te functioneren. Kan in daemon-modus gedraaid worden om periodiek op nieuwe berichten te controleren. Kan verschillende postbussen ophalen en ze afhankelijk van de instellingen naar verschillende plaatselijke gebruikers doorsturen. Hoewel het niet de bedoeling van dit document is om alle mogelijkheden van fetchmail uit te leggen, zullen sommige basismogelijkheden worden uitgelegd. Het gereedschap fetchmail heeft een instellingenbestand .fetchmailrc nodig om correct te kunnen werken. Dit bestand bevat zowel informatie over de server als de inloggegevens. Vanwege de gevoelige aard van de inhoud van dit bestand is het aan te raden om het met het volgende commando alleen leesbaar te maken voor de eigenaar ervan : &prompt.user; chmod 600 .fetchmailrc Het volgende .fetchmailrc dient als een voorbeeld voor het downloaden van een postbus van een enkele gebruiker via POP. Het vertelt fetchmail om met example.com te verbinden als gebruiker joesoap met wachtwoord XXX . Dit voorbeeld gaat ervan uit dat de gebruiker joesoap ook een gebruiker is op het plaatselijke systeem. poll example.com protocol pop3 username "joesoap" password "XXX" Het volgende voorbeeld legt verbinding met meerdere POP- en IMAP-servers en stuurt de mail door naar verschillende plaatselijke gebruikers indien van toepassing: poll example.com proto pop3: user "joesoap", with password "XXX", is "jsoap" here; user "andrea", with password "XXXX"; poll example2.net proto imap: user "john", with password "XXXXX", is "myth" here; Het gereedschap fetchmail kan in daemon-modus worden gedraaid met de vlag gevolgd door het interval (in seconden) waarmee fetchmail de servers die in het bestand .fetchmailrc vermeld staan dient te vragen. Het volgende voorbeeld zorgt ervoor dat fetchmail elke 600 seconden vraagt: &prompt.user; fetchmail -d 600 Meer informatie over fetchmail is te vinden op . Marc Silver Bijgedragen door procmail gebruiken procmail Het gereedschap procmail is een zeer krachtig gereedschap voor het filteren van binnenkomende mail. Het stelt gebruikers in staat om regels te definiëren welke aan binnenkomende mail gekoppeld kunnen worden om specifieke taken uit te voeren of om de mail naar alternatieve postbussen en/of emailadressen door te sturen. procmail kan met de port mail/procmail geïnstalleerd worden. Eenmaal geïnstalleerd kan het direct met de meeste MTAs geïntegreerd worden; raadpleeg de documentatie van de MTA voor meer informatie. Als alternatief kan procmail geïntegreerd worden door de volgende regel aan het bestand .forward in de thuismap van de gebruiker die procmail gebruikt toe te voegen: "|exec /usr/local/bin/procmail || exit 75" De volgende sectie geeft wat basisregels van procmailmet een korte beschrijving ervan. Deze, en andere, regels dienen in het bestand .procmailrc geplaatst te worden, welke zich in de thuismap van de gebruiker dient te bevinden. De meerderheid van deze regels kan ook in de hulppagina &man.procmailex.5; gevonden worden. Stuur alle mail van user@example.com door naar het externe adres goodmail@example2.com: :0 * ^From.*user@example.com ! goodmail@example2.com Stuur alle mails korten dan 1000 bytes door naar het externe adres goodmail@example2.com: :0 * < 1000 ! goodmail@example2.com Stuur alle mail verzonden aan alternate@example.com door naar een postbus alternate: :0 * ^TOalternate@example.com alternate Stuur alle mail met het onderwerp Spam door naar /dev/null: :0 ^Subject:.*Spam /dev/null Een handig recept dat binnenkomende &os;.org mailinglijsten parseert en elke lijst in en eigen postbus plaatst: :0 * ^Sender:.owner-freebsd-\/[^@]+@FreeBSD.ORG { LISTNAME=${MATCH} :0 * LISTNAME??^\/[^@]+ FreeBSD-${MATCH} } diff --git a/nl_NL.ISO8859-1/books/handbook/mirrors/Makefile b/nl_NL.ISO8859-1/books/handbook/mirrors/Makefile index ad5c0e2abe..41ee57218f 100644 --- a/nl_NL.ISO8859-1/books/handbook/mirrors/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/mirrors/Makefile @@ -1,15 +1,18 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/handbook/mirrors/Makefile +# %SRCID% 1.1 +# CHAPTERS= mirrors/chapter.sgml VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/multimedia/Makefile b/nl_NL.ISO8859-1/books/handbook/multimedia/Makefile index f90e1cd2b0..fa76648fa2 100644 --- a/nl_NL.ISO8859-1/books/handbook/multimedia/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/multimedia/Makefile @@ -1,15 +1,18 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/handbook/multimedia/Makefile +# %SRCID% 1.2 +# CHAPTERS= multimedia/chapter.sgml VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/network-servers/Makefile b/nl_NL.ISO8859-1/books/handbook/network-servers/Makefile index 7c8daabcf6..3fbfd2b178 100644 --- a/nl_NL.ISO8859-1/books/handbook/network-servers/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/network-servers/Makefile @@ -1,16 +1,19 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # $FreeBSDnl: nl_NL.ISO8859-1/books/handbook/network-servers/Makefile,v 1.2 2004/12/26 21:39:15 remko Exp $ -# Gebaseerd op: 1.1 +# +# %SOURCE% en_US.ISO8859-1/books/handbook/network-servers/Makefile +# %SRCID% 1.1 +# CHAPTERS= network-servers/chapter.sgml VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/pgpkeys/Makefile b/nl_NL.ISO8859-1/books/handbook/pgpkeys/Makefile index 7c61203aff..08cbf31dd4 100644 --- a/nl_NL.ISO8859-1/books/handbook/pgpkeys/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/pgpkeys/Makefile @@ -1,19 +1,22 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/handbook/pgpkeys/Makefile +# %SRCID% 1.3 +# CHAPTERS= pgpkeys/chapter.sgml PGPKEYS!= perl -ne 'm/\"([\w-]+.key)\"/ && print "$$1\n"' \ ${DOC_PREFIX}/share/pgpkeys/pgpkeys.ent SRCS+= ${PGPKEYS} VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/pgpkeys/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/pgpkeys/chapter.sgml index baeb1fd507..5241f452dc 100644 --- a/nl_NL.ISO8859-1/books/handbook/pgpkeys/chapter.sgml +++ b/nl_NL.ISO8859-1/books/handbook/pgpkeys/chapter.sgml @@ -1,56 +1,58 @@ PGP sleutels pgp sleutels In het geval een handtekening van een van de beambten of ontwikkelaars gecontroleerd moet worden of er een versleutelde e-mail aan ze gezonden moet worden, worden hier voor het gemak een aantal sleutels weergegeven. Een complete sleutelring van FreeBSD.org gebruikers kan op de volgende link gedownload worden: http://www.FreeBSD.org/doc/pgpkeyring.txt. Beambten §ion.pgpkeys-officers; Leden Kernteam §ion.pgpkeys-core; Ontwikkelaars §ion.pgpkeys-developers; diff --git a/nl_NL.ISO8859-1/books/handbook/ports/Makefile b/nl_NL.ISO8859-1/books/handbook/ports/Makefile index 93280bcae8..44b1674c1c 100644 --- a/nl_NL.ISO8859-1/books/handbook/ports/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/ports/Makefile @@ -1,15 +1,18 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/handbook/ports/Makefile +# %SRCID% 1.1 +# CHAPTERS= ports/chapter.sgml VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/ppp-and-slip/Makefile b/nl_NL.ISO8859-1/books/handbook/ppp-and-slip/Makefile index 1a44fcbd0c..076d534d53 100644 --- a/nl_NL.ISO8859-1/books/handbook/ppp-and-slip/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/ppp-and-slip/Makefile @@ -1,15 +1,18 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/handbook/ppp-and-slip/Makefile +# %SRCID% 1.1 +# CHAPTERS= ppp-and-slip/chapter.sgml VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/printing/Makefile b/nl_NL.ISO8859-1/books/handbook/printing/Makefile index 72d9e9b80a..bc007de1f7 100644 --- a/nl_NL.ISO8859-1/books/handbook/printing/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/printing/Makefile @@ -1,15 +1,18 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/handbook/printing/Makefile +# %SRCID% 1.1 +# CHAPTERS= printing/chapter.sgml VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/security/Makefile b/nl_NL.ISO8859-1/books/handbook/security/Makefile index bbf01aa7ab..442d45ca63 100644 --- a/nl_NL.ISO8859-1/books/handbook/security/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/security/Makefile @@ -1,15 +1,18 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/handbook/security/Makefile +# %SRCID% 1.1 +# CHAPTERS= security/chapter.sgml VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/serialcomms/Makefile b/nl_NL.ISO8859-1/books/handbook/serialcomms/Makefile index b83d9a27bb..2d9b04daea 100644 --- a/nl_NL.ISO8859-1/books/handbook/serialcomms/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/serialcomms/Makefile @@ -1,15 +1,18 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/handbook/serialcomms/Makefile +# %SRCID% 1.1 +# CHAPTERS= serialcomms/chapter.sgml VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/users/Makefile b/nl_NL.ISO8859-1/books/handbook/users/Makefile index dfa2918b7b..9395eeea1e 100644 --- a/nl_NL.ISO8859-1/books/handbook/users/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/users/Makefile @@ -1,15 +1,18 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/handbook/users/Makefile +# %SRCID% 1.1 +# CHAPTERS= users/chapter.sgml VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/vinum/Makefile b/nl_NL.ISO8859-1/books/handbook/vinum/Makefile index eca585a9aa..73bb1cd701 100644 --- a/nl_NL.ISO8859-1/books/handbook/vinum/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/vinum/Makefile @@ -1,15 +1,18 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/handbook/vinum/Makefile +# %SRCID% 1.1 +# CHAPTERS= vinum/chapter.sgml VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/virtualization/Makefile b/nl_NL.ISO8859-1/books/handbook/virtualization/Makefile index 4c89488e9c..4ac1695bb7 100644 --- a/nl_NL.ISO8859-1/books/handbook/virtualization/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/virtualization/Makefile @@ -1,15 +1,18 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/handbook/virtualization/Makefile +# %SRCID% 1.1 +# CHAPTERS= virtualization/chapter.sgml VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/x11/Makefile b/nl_NL.ISO8859-1/books/handbook/x11/Makefile index 06b452cd33..b258bc2888 100644 --- a/nl_NL.ISO8859-1/books/handbook/x11/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/x11/Makefile @@ -1,15 +1,18 @@ # # Build the Handbook with just the content from this chapter. # # $FreeBSD$ # +# %SOURCE% en_US.ISO8859-1/books/handbook/x11/Makefile +# %SRCID% 1.1 +# CHAPTERS= x11/chapter.sgml VPATH= .. MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} DOC_PREFIX?= ${.CURDIR}/../../../.. .include "../Makefile" diff --git a/nl_NL.ISO8859-1/flyer/Makefile b/nl_NL.ISO8859-1/flyer/Makefile index 16f88f31dc..2d40e56787 100644 --- a/nl_NL.ISO8859-1/flyer/Makefile +++ b/nl_NL.ISO8859-1/flyer/Makefile @@ -1,18 +1,20 @@ # $FreeBSD$ # $FreeBSDnl: nl_NL.ISO8859-1/flyer/Makefile,v 1.2 2005/04/30 11:45:54 remko Exp $ -# Gebaseerd op: 1.2 +# +# %SOURCE% en_US.ISO8859-1/flyer/Makefile +# %SRCID% 1.2 pdf: dvi ps ps2pdf13 -sPAPERSIZE=a4 flyer.ps ps: dvi dvips -t a4 flyer.dvi -o dvi: flyer.tex pngtopnm -mix ../../share/images/flyer/logo-full.png | \ pnmtops -noturn > logo-full.eps latex flyer.tex clean: rm -f flyer.aux flyer.dvi flyer.log flyer.pdf flyer.ps \ logo-full.eps diff --git a/nl_NL.ISO8859-1/share/sgml/bookinfo.ent b/nl_NL.ISO8859-1/share/sgml/bookinfo.ent index d8dfc099d6..d626561965 100644 --- a/nl_NL.ISO8859-1/share/sgml/bookinfo.ent +++ b/nl_NL.ISO8859-1/share/sgml/bookinfo.ent @@ -1,17 +1,19 @@ diff --git a/nl_NL.ISO8859-1/share/sgml/catalog b/nl_NL.ISO8859-1/share/sgml/catalog index 2fc08a4995..4d24b88cac 100644 --- a/nl_NL.ISO8859-1/share/sgml/catalog +++ b/nl_NL.ISO8859-1/share/sgml/catalog @@ -1,20 +1,24 @@ -- ...................................................................... -- -- FreeBSD SGML Public Identifiers ...................................... -- -- $FreeBSD$ -- -- $FreeBSDnl$ -- + -- %SOURCE% en_US.ISO8859-1/share/sgml/catalog -- + -- %SRCID% 1.5 -- + + PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Books Entity Set//NL" "books.ent" PUBLIC "-//FreeBSD//DOCUMENT DocBook Stylesheet//EN" "freebsd.dsl" PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//EN" "mailing-lists.ent" PUBLIC "-//FreeBSD//ENTITIES DocBook BookInfo Entities//NL" "bookinfo.ent" PUBLIC "-//FreeBSD//ENTITIES DocBook Language Specific Entities//EN" "l10n.ent" diff --git a/nl_NL.ISO8859-1/share/sgml/freebsd.dsl b/nl_NL.ISO8859-1/share/sgml/freebsd.dsl index 11509af334..118c6c7f7e 100644 --- a/nl_NL.ISO8859-1/share/sgml/freebsd.dsl +++ b/nl_NL.ISO8859-1/share/sgml/freebsd.dsl @@ -1,256 +1,258 @@ %freebsd.l10n; ]> (define %refentry-xref-link% #t) (define ($email-footer$) (make sequence (make element gi: "p" attributes: (list (list "align" "center")) (make element gi: "small" (literal "Deze en andere documenten kunnen worden gedownload van ") (create-link (list (list "HREF" "ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/")) (literal "ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/")) (literal "."))) (make element gi: "p" attributes: (list (list "align" "center")) (make element gi: "small" (literal "Lees voor vragen over FreeBSD de ") (create-link (list (list "HREF" "http://www.FreeBSD.org/docs.html")) (literal "documentatie")) (literal " alvorens contact te zoeken <") (create-link (list (list "HREF" "mailto:questions@FreeBSD.org")) (literal "questions@FreeBSD.org")) (literal ">.") (make empty-element gi: "br") (literal "Vragen over deze documentatie kunnen per e-mail naar <") (create-link (list (list "HREF" "mailto:doc@FreeBSD.org")) (literal "doc@FreeBSD.org")) (literal ">."))))) ]]> number ;; then get the apparent level (substring renderas 4 5)) ;; from "renderas", (SECTLEVEL))) ;; else use the real level (hs (HSIZE (- 4 hlevel)))) (make sequence (make paragraph font-family-name: %title-font-family% font-weight: (if (< hlevel 5) 'bold 'medium) font-posture: (if (< hlevel 5) 'upright 'italic) font-size: hs line-spacing: (* hs %line-spacing-factor%) space-before: (* hs %head-before-factor%) space-after: (if (node-list-empty? subtitles) (* hs %head-after-factor%) 0pt) start-indent: (if (or (>= hlevel 3) (member (gi) (list (normalize "refsynopsisdiv") (normalize "refsect1") (normalize "refsect2") (normalize "refsect3")))) %body-start-indent% 0pt) first-line-start-indent: 0pt quadding: %section-title-quadding% keep-with-next?: #t heading-level: (if %generate-heading-level% (+ hlevel 1) 0) ;; SimpleSects are never AUTO numbered...they aren't hierarchical (if (> hlevel (- max-section-level-labels 1)) (empty-sosofo) (if (string=? (element-label (current-node)) "") (empty-sosofo) (literal (element-label (current-node)) (gentext-label-title-sep (gi sect))))) (element-title-sosofo (current-node))) (with-mode section-title-mode (process-node-list subtitles)) ($section-info$ info)))) ]]> (define (local-en-label-title-sep) (list (list (normalize "warning") ": ") (list (normalize "caution") ": ") (list (normalize "chapter") " ") (list (normalize "sect1") " ") (list (normalize "sect2") " ") (list (normalize "sect3") " ") (list (normalize "sect4") " ") (list (normalize "sect5") " ") )) diff --git a/nl_NL.ISO8859-1/share/sgml/l10n.ent b/nl_NL.ISO8859-1/share/sgml/l10n.ent index 9d7cb8025b..b42a28f3d2 100644 --- a/nl_NL.ISO8859-1/share/sgml/l10n.ent +++ b/nl_NL.ISO8859-1/share/sgml/l10n.ent @@ -1,15 +1,17 @@