diff --git a/nl_NL.ISO8859-1/books/handbook/introduction/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/introduction/chapter.sgml
index 5d7e64a64a..246bf772a8 100644
--- a/nl_NL.ISO8859-1/books/handbook/introduction/chapter.sgml
+++ b/nl_NL.ISO8859-1/books/handbook/introduction/chapter.sgml
@@ -1,1101 +1,1105 @@
JimMockGereorganiseerd en delen
herschreven door Arjanvan LeeuwenVertaald door IntroductieOverzichtWelkom bij &os;! Dit hoofdstuk beschrijft de verschillende
aspecten van het &os; Project: geschiedenis, doelen,
ontwikkelmodel en meer.Na het lezen van dit hoofdstuk weet de lezer:Hoe &os; gerelateerd is aan andere
besturingssystemen;De geschiedenis van het &os; Project;De doelen van het &os; Project;De fundering van het &os; open-source
ontwikkelmodel;En natuurlijk: waar de naam &os; vandaan
komt.Welkom bij &os;!4.4BSD-Lite&os; is een op 4.4BSD-Lite gebaseerd besturingssysteem
voor Intel (x86 en &itanium;), AMD64,
Alpha en Sun &ultrasparc; computers.
Er zijn ook ports naar andere architecturen in voorbereiding.
Er is nog meer informatie over de geschiedenis van &os; of over de huidige release. Als de lezer wil
bijdragen aan het project (code, hardware, geld) wordt aangeraden
het artikel Bijdragen aan
&os; te lezen.Wat kan &os;?&os; heeft veel mogelijkheden die het bespreken waard zijn.
Hier zijn er enkele op een rij gezet:preemptive
multitaskingPreemptive multitasking zorgt
ervoor dat meerdere programma's en gebruikers op dezelfde
computer kunnen werken, zonder dat de systeemrespons of
stabiliteit beïnvloed wordt.Meerdere gebruikersOndersteuning voor meerdere
gebruikers maakt het mogelijk dat
verschillende mensen een &os; systeem tegelijkertijd
kunnen gebruiken voor een groot aantal taken. Dit
betekent bijvoorbeeld dat randapparaten als printers en
tapedrives gedeeld kunnen worden door alle gebruikers van
het systeem en dat individuele beperkingen ingesteld
kunnen worden voor gebruikers of voor groepen gebruikers,
zodat kritieke systeembronnen beschermd kunnen worden
tegen onrechtmatig of overmatig gebruik.TCP/IP netwerkenKrachtige mogelijkheden voor TCP/IP
netwerken met ondersteuning voor
industriestandaarden als SLIP, PPP, NFS, DHCP en NIS. Dit
betekent dat een &os;-systeem makkelijk kan samenwerken
met andere systemen en dat het kan functioneren als
bedrijfsserver, waarbij het belangrijke functies als NFS
(bestandsdeling over het netwerk), email, web services,
FTP, routing en firewall-diensten kan aanbieden.GeheugenbeveiligingGeheugenbeveiliging garandeert dat
applicaties (of gebruikers) elkaar niet kunnen storen. Een
crashende applicatie heeft totaal geen effect op andere
applicaties.&os; is een 32-bits
besturingssysteem (64-bits op de
Alpha, &itanium;, AMD64, en &ultrasparc;) en is van de
grond af aan zo ontworpen.X Window systeemXFree86Het X Window systeem
(X11R6), een industriële standaard, biedt een
grafische gebruikersinterface (GUI) met als enige
benodigdheden een VGA-kaart en een beeldscherm.binaire compatibiliteitLinuxbinaire compatibiliteitSCObinaire compatibiliteitSVR4binaire compatibiliteitBSD/OSbinaire compatibiliteitNetBSDDoor binaire compatibiliteit met
veel programma's voor &linux;, SCO, SVR4, BSDI en NetBSD
is het mogelijk om deze programma's zonder snelheidsverlies
op &os; te draaien.Er zijn duizenden applicaties beschikbaar in de &os;
ports en packages
collectie. Waarom zoeken op het internet als het allemaal
al klaarstaat?Duizenden andere en makkelijk over te
zetten applicaties zijn beschikbaar op het
internet. &os; is broncode-compatibel met de meeste
populaire commerciële &unix; systemen, wat betekent
dat veel applicaties nagenoeg geen wijzigingen vereisen om
te compileren op &os;.Virtueel geheugenHet demand-paged virtueel geheugen
en de gecombineerde VM/buffer cache van &os;
zorgen ervoor dat applicaties met grote geheugenbehoeften
niets te kort komen, terwijl de systeemrespons niet
achteruit gaat.Symmetric Multi-Processing (SMP)SMP-ondersteuning voor computers
met meerdere processoren.compilersCcompilersC++compilersFORTRANEen volledige C,
- C++, Fortran en
- Perl ontwikkelomgeving. Vele andere
+ C++, Fortran
+ ontwikkelomgeving. Vele andere
programmeertalen, te gebruiken voor onderzoek of
geavanceerde ontwikkeling, zijn ook beschikbaar in de
ports- en packagescollectie.broncodeDe broncode van het hele
systeem is beschikbaar, zodat gebruikers de volledige
controle over het systeem in handen hebben. Waarom
genoegen nemen met alleen het erewoord van de
softwarefabrikant, als een compleet open systeem ook tot de
mogelijkheden behoort?Uitgebreide online
documentatie.En nog veel meer!4.4BSD-LiteComputer Systems Research Group (CSRG)U.C. Berkeley&os; is gebaseerd op de 4.4BSD-Lite release van de
Computer Systems Research Group (CSRG) aan de University
of California in Berkeley en borduurt voort op een lange
traditie van ontwikkeling van BSD-systemen. Het &os; Project
heeft duizenden uren gestoken in het afstellen van het systeem
voor maximale prestaties en betrouwbaarheid in realistische en
veel voorkomende situaties. Terwijl veel commerciële
bedrijven blijven worstelen met het uitbrengen van
besturingssystemen met dergelijke mogelijkheden, prestaties en
betrouwbaarheid, kan &os; deze nu
bieden!De toepassingen voor &os; worden alleen beperkt door eigen
fantasie. Van software-ontwikkeling tot
fabrieksautomatisering, van voorraadbeheersing tot de
azimuth-correctie van een satellietantenne: als het kan met
een commercieel &unix;product, dan kan het ook met &os;! &os;
vaart ook wel bij de letterlijk duizenden open-source
programma's, vaak van bijzonder hoge kwaliteit, die ontwikkeld
zijn in onderzoekscentra, universiteiten over de hele wereld en
open-source gemeenschappen, en die beschikbaar zijn voor weinig
of geen geld. Ook steeds meer commerciële applicaties
vinden hun weg naar &os;.Omdat ook de broncode van &os; zelf vrij beschikbaar is,
kan het systeem aangepast worden voor speciale toepassingen of
projecten, op manieren die meestal niet mogelijk zijn met
besturingssystemen van vooraanstaande commerciële
softwarehuizen. Hier zijn een aantal voorbeelden van
toepassingen waar &os; voor gebruikt wordt:Internetdiensten: de robuuste
TCP/IP netwerkarchitectuur die in &os; zit, maakt het een
ideaal platform voor uiteenlopende internetdiensten
als:FTP serversFTP servers;webserversWorld Wide Webservers (standaard of beveiligd
[SSL]);firewallNATFirewalls en NAT (IP-maskering)
gateways;elektronische maile-maile-mailE-mail servers;USENETUSENET nieuws of Bulletin Board (BBS)
systemen;En meer...&os; kan eenvoudig geleerd worden op een goedkope
standaard-PC, om later verder te groeien naar een
professioneel Xeon-systeem met 4 processoren (of meer!) en
RAID opslagsystemen als een bedrijf groeit.Onderwijs: is de lezer
informatica-student of werkzaam in een ander vakgebied dat
hier mee te maken heeft? Er is geen betere manier om
besturingssystemen, computerarchitecturen en netwerken te
bestuderen dan de hands-on open-source ervaring die &os;
kan bieden. Gratis beschikbare programma's voor CAD,
wiskundige toepassingen en grafisch ontwerp maken &os;
ook heel handig voor mensen wiens primaire interesse voor
de computer ligt bij het voltooien van
ander werk!Onderzoek: omdat de broncode van
het volledige systeem beschikbaar is, vormt &os; een
uitstekende basis voor het onderzoeken van besturingssystemen
of andere takken in de informatica. De open natuur van &os;
maakt het ook mogelijk voor groepen mensen over de hele
wereld om met elkaar samen te werken, zonder dat men zich
zorgen hoeft te maken over speciale licentieovereenkomsten of
beperkingen op wat er besproken kan worden in open
fora.routerDNS ServerNetwerken: nieuwe router nodig?
Of een nameserver (DNS)? Een firewall om een intern netwerk
te beschermen? &os; kan die ongebruikte 486 of Pentium PC
die nog ergens in een hoekje ligt gemakkelijk omtoveren tot
een geavanceerde router met uitgebreide pakketfilter
mogelijkheden.X Window systeemXFree86X Window systeemAccelerated-XX Window werkstation: &os; is een
prima keuze als goedkope X terminal oplossing, door
gebruik te maken van de gratis beschikbare X11 server of
een van de commerciële servers aangeboden door Xi Graphics. In
tegenstelling tot een pure X terminal kan &os; ook
applicaties lokaal draaien, wat een verlichting van de
centrale server tot gevolg kan hebben. &os; heeft zelfs de
mogelijkheid om schijfloos op te starten,
zodat individuele workstations nog goedkoper en makkelijker
te beheren zijn.Bureaublad: de beschikbaarheid van
geavanceerde bureabladomgevingen als KDE en GNOME en
kantoortoepassingen als tekstverwerkers en
spreadsheet-programma's in de ports- en packagescollectie
maken van &os; een uitgebreid desktop-platform. Thuis en
op het werk zorgt &os; ervoor dat er snel, efficiënt
en veilig gewerkt kan worden!GNU Compiler CollectionSoftware Ontwikkeling: bij het
standaard &os;-systeem zit al een volledige verzameling van
ontwikkelgereedschappen, inclusief de bekende
GNU C/C++ compiler en debugger.&os; is beschikbaar in zowel broncode als binaire vorm op
cd-rom, DVD en via FTP. In staat meer
informatie over het verkrijgen van &os;.Wie gebruiken &os;?gebruikersgrote sites die &os; draaien&os; is de drijvende kracht achter enkele van de grootste
sites die het internet kent, zoals:Yahoo!Yahoo!ApacheApacheBlue Mountain ArtsBlue
Mountain ArtsPair NetworksPair
NetworksSony JapanSony
JapanNetcraftNetcraftWeathernewsWeathernewsSupervaluSupervaluTELEHOUSE AmericaTELEHOUSE
AmericaSophos Anti-VirusSophos
Anti-VirusJMA WiredJMA Wireden nog veel meer sites.Over het &os; projectDeze paragraaf geeft wat meer achtergrondinformatie over
het project, inclusief een korte geschiedenis, projectdoelen,
en het ontwikkelmodel van het project.JordanHubbardBijgedragen door Korte geschiedenis van &os;386BSD PatchkitHubbard, JordanWilliams, NateGrimes, Rod&os; ProjectgeschiedenisHet &os; Project zag het licht in het begin van 1993,
gedeeltelijk als een voortzetting van de Unofficial
386BSD Patchkit door de 3 laatste coördinatoren
van de patchkit: Nate Williams, Rod Grimes en ikzelf.386BSDHet oorspronkelijke doel was om een zogenaamde
'snapshot'-release te maken van 386BSD, om zo een aantal
problemen op te lossen die niet op te lossen waren
met het patchkit-mechanisme dat eerder gebruikt was. Sommigen
kunnen zich misschien nog herinneren dat de werktitel van het
project in het begin nog 386BSD 0.5 of
386BSD Interim was, refererend aan het
oorspronkelijke doel.Jolitz, Bill386BSD was het besturingssysteem van Bill Jolitz en had
tot op dat moment geleden onder het feit dat er al bijna een
jaar niet naar omgekeken was. Terwijl de patchkit steeds
groter en onhandiger werd, was een groep mensen het er over
eens dat er iets moest gebeuren en beslisten om Bill te
assisteren bij het maken van een tussentijdse
cleanup snapshot. Deze plannen kwamen echter
tot een plotseling einde toen Bill Jolitz besliste om zijn
toestemming voor het project in te trekken, zonder dat
er een alternatief werd geboden.Greenman, DavidWalnut Creek CDROMHet duurde niet lang om te beslissen dat het doel nog
steeds belangrijk was, zelfs zonder de ondersteuning van Bill,
dus werd de naam &os; aangenomen, naar een idee
van David Greenman. De oorpronkelijke doelen werden opgesteld
na het raadplegen van de gebruikers van het systeem. Toen het
erop begon te lijken dat dit project misschien wel snel
realiteit kon worden, werd contact opgenomen met Walnut Creek
CDROM vanuit het oogpunt om de distributiekanalen van &os; te
verbeteren voor diegenen die geen toegang hadden tot internet.
Walnut Creek CDROM ondersteunde niet alleen het idee om &os; op
cd-rom te distribueren, maar bood het project ook een systeem
en een snelle internetverbinding om mee te werken. Zonder
Walnut Creek CDROM's bijna onbeperkte vertrouwen in wat op dat
moment nog een compleet onbekend project was, is het
onwaarschijnlijk dat &os; zo ver gekomen zou zijn, en zo snel,
als het vandaag de dag is.4.3BSD-LiteNet/2U.C. Berkeley386BSDFree Software
FoundationDe eerste cd-rom (en algemene op het net beschikbare)
distributie was &os; 1.0, uitgebracht in december
1993. Deze versie was gebaseerd op de 4.3BSD-Lite
(Net/2) tape van U.C. Berkeley, met veel
toevoegingen van 386BSD en de Free Software Foundation. Het
werd een redelijk succes voor een eerste aanbod, en werd
opgevolgd door de zeer succesvolle &os; 1.1 release in mei
1994.NovellU.C. BerkeleyNet/2AT&TRond deze tijd vormde zich nogal onverwacht een
stormachtige lucht aan de horizon toen Novell en U.C. Berkeley
hun langlopende rechtszaak over de legale status van de
Berkeley Net/2 tape oplosten met een schikking. Een voorwaarde
van deze schikking was dat U.C. Berkeley toegaf dat grote delen
van Net/2 beladen code was en het eigendom van
Novell, die deze code op haar beurt overgenomen had van
AT&T enige tijd hiervoor. Wat Berkeley hiervoor terugkreeg
was Novell's zegen over de 4.4BSD-Lite release;
wanneer deze uitkwam zou Novell verklaren dat geen van de code
hierin eigendom van Novell was, en bestaande Net/2 gebruikers
zou sterk aanbevolen worden om over te stappen naar deze
nieuwe versie. Dit gold ook voor &os; en het project werd de
tijd gegeven tot juli 1994 om te stoppen met het distribueren
van het eigen op Net/2-gebaseerde product. De schikking liet
wel toe dat nog een laatste release werd uitgebracht voor de
deadline en dat was &os; 1.1.5.1.&os; nam toen de enorme taak op zich om zichzelf letterlijk
opnieuw uit te vinden, met als basis een volledig nieuwe en
nogal incomplete verzameling van delen van 4.4BSD-Lite. De
Lite releases werden zo genoemd omdat Berkeley's
CSRG grote delen code die nodig waren om een werkend systeem te
construeren had weggelaten (om allerlei legale redenen) en
omdat de Intel port van 4.4 grotendeels incompleet was. Het
kostte het project tot november 1994 om deze overstap te maken.
Op dat moment werd &os; 2.0 op het net en op cd-rom (aan
het einde van december) uitgebracht. Ondanks het feit dat deze
release nog wat ruige kantjes had, werd het een groot succes en
werd het gevolgd door de robustere en makkelijker te
installeren &os; 2.0.5 in juni 1995.In augustus 1996 is &os; 2.1.5 uitgebracht en deze
bleek populair genoeg bij internet service providers (ISP's) en
andere commerciële gebruikers van &os; om nog een release
van de 2.1-STABLE tak te rechtvaardigen. Dit was
&os; 2.1.7.1, uitgebracht in februari 1997. Deze release
markeerde het einde van de hoofdstroomontwikkeling op
2.1-STABLE; alleen beveilingsupdates en andere kritieke bug
fixes werden nog op deze tak uitgevoerd (RELENG_2_1_0).&os; 2.2 werd afgesplitst van de ontwikkelingstak
(-CURRENT) in november 1996 als RELENG_2_2 en
de eerste volledige release (2.2.1) werd uitgebracht in april
1997. Andere releases van de 2.2 tak werden uitgebracht in de
zomer en herfst van '97. De laatste (2.2.8) verscheen in
november 1998. De eerste officiële 3.0 release verscheen
in oktober 1998 en was het begin van het einde voor de
2.2 tak.Er was opnieuw een afsplitsing op 20 januari 1999, wat
leidde tot de 4.0-CURRENT en 3.x-STABLE takken. Vanuit
3.X-STABLE werd versie 3.1 uitgebracht op 15 februari 1999,
3.2 op 15 mei 1999, 3.3 op 16 september 1999, 3.4 op 20
december 1999 en 3.5 op 24 juni 2000. De laatste werd enkele
dagen later gevolgd door een point release update naar 3.5.1,
om enkele net-ontdekte beveiligingsfouten in Kerberos te
corrigeren. Dit was de laatste release van de 3.X tak.Een nieuwe tak werd gemaakt op 13 maart 2000, de
4.X-STABLE tak. Er zijn verschillende releases van deze tak
gemaakt: 4.0-RELEASE werd geïntroduceerd in maart 2000, en
- de laatste &rel2.current;-RELEASE verscheen in
- &rel2.current.date;.
+ de laatste 4.11-RELEASE verscheen in januari 2005.
De langverwachte 5.0-RELEASE werd aangekondigd op 19
januari 2003. Dit resultaat van bijna drie jaar werk zette
&os; stevig neer op de weg naar geavanceerde multiprocessor-
en threading-ondersteuning en introduceerde nieuwe &os; ports
voor de &ultrasparc; en ia64 architecturen.
Deze release werd gevolgd door 5.1 in juni 2003. De laatste
5.X release uit de –CURRENT-tak was 5.2.1–RELEASE
uit februari 2004.De RELENG_5 tak is gemaakt in augustus 2004 en werd gevolgd
door 5.3-RELEASE, die het begin van de 5-STABLE tak
- markeert. De meest recente &rel.current;-RELEASE is uitgekomen
- op &rel.current.date;. Er staan nog andere versies gepland
+ markeert. De meest recente &rel2.current;-RELEASE is uitgekomen
+ op &rel2.current.date;. Er staan nog andere versies gepland
in de RELENG_5 tak.
+ De RELENG_6 tak is gemaakt in juli 2005, de eerste release
+ van de 6.X tak werd vrijgegeven in november 2005. De meest
+ recente &rel.current;-RELEASE kwam uit op &rel.current.date;.
+ Er staan nog andere versies gepland in de RELENG_6 tak.
+
Op dit moment vinden lange-termijn ontwikkelprojecten
- plaats in de 6.X-CURRENT tak, en snapshot releases van 6.X op
+ plaats in de 7.X-CURRENT tak, en snapshot releases van 7.X op
cd-rom (en natuurlijk op het Net) worden continu beschikbaar
gemaakt op de
snapshot server.JordanHubbardBijgedragen door &os; projectdoelen&os; ProjectdoelenHet doel van het &os; Project is om software aan te bieden
die gebruikt kan worden voor iedere mogelijke toepassing,
zonder beperkingen. Vele ontwikkelaars hebben een belangrijke
investering in de code (en het project) zitten en vinden het
niet erg om af en toe een financiële compensatie te
ontvangen, maar dat is zeker geen voorwaarde. De ontwikkelaars
van &os; geloven dat de eerste en belangrijkste
missie het aanbieden van code is, aan iedereen
die het wil hebben, voor wat voor doel dan ook, zodat de code
zo breed mogelijk gebruikt kan worden tot voordeel van zoveel
mogelijk mensen. Dit is een van de meest fundamentele doelen
van Vrije Software dat &os; enthousiast ondersteunt.GNU General Public License (GPL)GNU Lesser General Public License (LGPL)BSD CopyrightSommige code in &os; valt onder de GNU General Public
License (GPL) of Library General Public License (LGPL). Deze
code heeft iets meer beperkingen, maar in ieder geval aan de
kant waarbij vrije toegang tot de code geforceerd wordt, in
plaats van het gebruikelijke tegenovergestelde hiervan. Door
de toegevoegde moeilijkheden die kunnen voortkomen uit het
commerciële gebruik van GPL software geeft het &os;
Project echter de voorkeur aan het meer vrije BSD copyright,
wanneer er een redelijk alternatief voor handen is.SatoshiAsamiBijgedragen door Het &os; ontwikkelmodel&os; ProjectontwikkelmodelDe ontwikkeling van &os; is een erg open en flexibel
proces en wordt gevormd door de bijdragen van letterlijk
honderden mensen over de hele wereld, zoals te zien is in de
lijst van
medewerkers. De infrastructuur die wordt gebruikt
voor de ontwikkeling van &os; zorgt ervoor dat deze honderden
ontwikkelaars kunnen samenwerken over het internet. Het &os;
Project is continu op zoek naar nieuwe ontwikkelaars en
ideeën. Om bij te dragen aan de ontwikkeling van &os;
is een mail naar &a.hackers; voldoende. De &a.announce; is
beschikbaar om mededelingen te doen aan andere &os;-gebruikers
over grote veranderingen.Een aantal dingen over &os; en haar ontwikkelingsproces
zijn handig om te weten, of een bijdrage nu onafhankelijk of in
samenwerking met anderen uit het Project komt:Het CVS-archiefCVSarchiefConcurrent Versions SystemCVSAlle broncode voor &os; wordt bijgehouden met CVS (Concurrent
+ url="http://ximbiot.com/cvs/wiki/">CVS (Concurrent
Versions System), een vrij verkrijgbaar pakket voor het
onderhouden van broncode die bij &os; zit. Het primaire
CVS
archief staat op een systeem in Santa Clara,
Californië, in de VS, waar het wordt
gesynchroniseerd met verschillende mirrors
over de hele wereld. De boomstructuur van CVS, waarin de
broncode voor -CURRENT en
-STABLE is te vinden, kan
ook makkelijk met die op een eigen systeem
gesynchroniseerd worden. Synchroniseren van broncode
bevat meer informatie over dit onderwerp.Committers
committersDe zogenaamde committers zijn
alle mensen die schrijf-rechten
hebben in het CVS archief van &os;. Deze mensen mogen
veranderingen maken aan de &os; broncode (de term
committer is afkomstig uit het &man.cvs.1;
commit commando, wat gebruikt wordt om
veranderingen door te voeren in het CVS-archief). De
beste manier om eigen bijdragen te laten keuren door een
van de committers is door gebruik te maken van
&man.send-pr.1;. Als het erop lijkt dat een bijdrage
ergens in het systeem blijft hangen, dan is het ook
mogelijk om mail te sturen naar de &a.committers;.Het &os; Core Teamcore teamHet &os; core team zou het
equivalent zijn van een raad van bestuur als &os; een
bedrijf zou zijn. De primaire taak van het core team is
ervoor zorg te dragen dat het project, in zijn geheel, in
goede vorm verkeert en de goede richting opgaat.
Toegewijde en verantwoordelijke ontwikkelaars uitnodigen
om deel te worden van de committers is één
van de taken van het core team, net als het recruteren
van nieuwe leden van het core team. Het huidige core
team is gekozen door de committers uit een groep van
kandidaten (ook allen committers) in juli 2004. Elke
twee jaar worden verkiezingen gehouden.Sommige leden van het core team hebben een
bijzondere verantwoordelijkheid, wat wil zeggen dat zij
er speciaal op toezien dat een bepaald deel van het
systeem werkt zoals het hoort. In de lijst
van medewerkers staat een complete lijst van
ontwikkelaars en hun verantwoordelijkheden.De meeste leden van het core team zijn
vrijwilligers. Toewijding betekent
dus niet gegarandeerde ondersteuning.
De raad van bestuur-analogie hierboven
klopt niet helemaal en het is misschien beter om te
zeggen dat dit de mensen zijn die hun leven opgaven
voor &os;, tegen beter weten in!Externe Bijdragenexterne bijdragenDe grootste groep ontwikkelaars zijn de gebruikers
zelf, die &os; continu voorzien van constructief
commentaar en oplossingen voor fouten. De handigste
manier om contact te houden met het niet-gecentraliseerde
deel van de ontwikkeling van &os; is een abonnement nemen
op de &a.hackers;, waar allerlei bijdragen, patches en
nieuwe ideeën worden bediscussieerd. In is meer informatie te vinden over
de verschillende &os; mailinglijsten.De lijst
van medewerkers is lang en groeit
iedere dag, dus wat let de lezer om zelf een bijdrage te
doen aan &os;?Programmeren is niet de enige manier om een bijdrage
te leveren aan het project. Een meer volledige lijst van
dingen die gedaan moeten worden staat op de &os; web
site.Samengevat is het &os; ontwikkelmodel georganiseerd als een
niet-samenhangende verzameling van concentrische cirkels. Het
gecentraliseerde model is ontworpen voor het gemak van de
gebruikers van &os;, die op deze manier
makkelijk de wijzigingen in het project kunnen volgen. Niet om
potentiële medewerkers buiten de deur te houden! Het is
wenselijk om een stabiel besturingssysteem te maken, met een
grote verzameling samenhangende applicaties. Dit model heeft zijn
waarde op dat gebied bewezen.Om bij te dragen en samen &os; verder te ontwikkelen, is
het enige wat het &os; Project vraagt dat te doen met dezelfde
toewijding als de huidige ontwikkelaars: succes
gegarandeerd!Huidige &os; releaseNetBSDOpenBSD386BSDFree Software FoundationU.C. BerkeleyComputer Systems Research Group (CSRG)&os; is een open source, op 4.4BSD-Lite gebaseerd
besturingssysteem voor Intel (x86 en &itanium;), AMD64,
Alpha en Sun &ultrasparc; computers.
Het is grotendeels gebaseerd op software van de Computer
Systems Research Group (CSRG) van de University of California
in Berkeley (U.C. Berkeley), met verbeteringen overgenomen van
NetBSD, OpenBSD, 386BSD en de Free Software Foundation.Sinds het uitbrengen van &os; 2.0 tegen het einde
van 1994, zijn de prestaties, mogelijkheden en stabiliteit
van &os; dramatisch verbeterd. &os; heeft namelijk de
beschikking over een compleet nieuw subsysteem voor virtueel
geheugen, dat niet alleen de prestaties ten goede komt, maar
er ook voor zorgt dat het systeem minder geheugen gebruikt
dan ooit tevoren. Andere belangrijke verbeteringen zijn de
ondersteuning van veel nieuwe hardware, een compleet nieuw
systeem voor de ondersteuning van machines met meerdere
processoren (SMP) en een nieuwe bibliotheek voor de
ondersteuning van multithreading in applicaties.Behalve de basisdistributie van het besturingssysteem,
biedt &os; ook een enorme softwarecollectie met duizenden
veelgebruikte programma's, de zogenaamde ports. Op het
moment van schrijven zijn er al meer dan &os.numports; ports!
In de ports zitten alle mogelijke klassen van software die te
bedenken zijn, van http-servers tot spellen, van
kantoorapplicaties tot multimedia en alles wat er tussenin
zit. De complete Portscollectie beslaat zo'n &ports.size; aan
schijfruimte. Meer informatie over de ports en over de
packages is te vinden in .Een aantal andere documenten die kunnen helpen bij het
installeren en gebruiken van &os; staan in de map
/usr/share/doc op ieder recente
&os;-installatie. De lokaal geïnstalleerde documentatie
kan in een browser bekeken worden door de volgende URLs te
gebruiken:Het &os; handboek/usr/share/doc/handbook/index.htmlDe &os; FAQ/usr/share/doc/faq/index.htmlDe nieuwste versies van deze documenten zijn altijd te
vinden op .
diff --git a/nl_NL.ISO8859-1/books/handbook/users/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/users/chapter.sgml
index 42f71bb6eb..e946e45997 100644
--- a/nl_NL.ISO8859-1/books/handbook/users/chapter.sgml
+++ b/nl_NL.ISO8859-1/books/handbook/users/chapter.sgml
@@ -1,1272 +1,1273 @@
NeilBlakey-MilnerGeschreven door SiebrandMazelandVertaald door Gebruikers en basis accountbeheerOverzichtMet &os; is het mogelijk een computer met meerdere gebruikers
tegelijkertijd te gebruiken. Natuurlijk kan er op een zeker
moment maar één gebruiker achter het scherm en
toetsenbord zitten
Tenzij er natuurlijk meerdere terminals worden
aangesloten, maar dat wordt behandeld in .
, maar er kan een groot aantal gebruikers zijn aangemeld via het
netwerk om dingen met de computer te doen. Om een systeem te
gebruiken moet een gebruiker een account hebben.Na het lezen van dit hoofdstuk weet de lezer:De verschillen tussen de gebruikersaccounts op een &os;
systeem;Hoe gebruikersaccounts toe te voegen;Hoe gebruikersaccounts te verwijderen;Hoe eigenschappen van accounts te wijzigen, zoals de
volledige naam van de gebruiker of de voorkeursshell;Hoe op een per account basis limieten in te stellen om
het bronnengebruik van bijvoorbeeld geheugen en processortijd
te reguleren voor accounts en accountgroepen;Hoe groepen te gebruiken om accountbeheer te
vereenvoudigen.Aangeraden voorkennis:Basisbegrip van &unix; en &os; ().InleidingVia accounts wordt alle toegang tot een systeem gegeven en
alle processen worden door gebruikers gedraaid. Dus gebruikers
en accountbeheer zijn van integraal belang op &os;
systemen.Elke account op een &os; systeem heeft een aantal
informatievelden waarmee de account geïdentificeerd kan
worden.GebruikersnaamDe gebruikersnaam, zoals die ingevoerd wordt bij het
prompt login:. Gebruikersnamen moeten
uniek zijn op een computer. Er mogen geen twee
gebruikers zijn met dezelfde gebruikersnaam. Er horen een
aantal regels bij het maken van geldige gebruikersnamen,
die in &man.passwd.5; staan beschreven. Gebruikersnamen
bestaan gewoonlijk uit acht of minder karakters (geen
hoofdletters).WachtwoordBij ieder account hoort een wachtwoord. Het wachtwoord
kan leeg zijn. Er is dan geen wachtwoord nodig om toegang
te krijgen tot een systeem. Dit is meestal een slecht
idee. Ieder account hoort een wachtwoord te
hebben.Gebruikers ID (UID)Het UID is een nummer, traditioneel van 0 tot 65535
Het is mogelijk om UID/GID's te gebruiken tot
4294967295, maar die ID's kunnen tot serieuze
problemen leiden met software die aannames maakt over
de waarde van ID's.
, dat wordt gebruikt om een gebruiker op een systeem uniek
te identificeren. Intern gebruikt &os; het UID om
gebruikers te identificeren. Voor alle &os; commando's
waarin een gebruikersnaam wordt opgegegeven, wordt eerst
geconverteerd naar het UID voordat ermee gewerkt wordt.
Dit betekent dat er verschillende accounts kunnen zijn met
andere gebruikersnamen maar met hetzelfde UID. Wat &os;
betreft zijn al die accounts één gebruiker.
Het is onwaarschijnlijk dat het ooit nodig is deze
eigenschap te gebruiken.Groep ID (GID)Het GID is een nummer, traditioneel van 0 tot 65535
, gebruikt om de
primaire groep waartoe een gebruiker behoort, uniek te
identificeren. Groepen zijn een methode waarmee toegang
tot bronnen beheerst kan worden, gebaseerd op het GID van
een gebruiker in plaats van op een UID. Hiermee kan het
aantal instellingen in bepaalde bestanden aanzienlijk
verkleind worden. Een gebruiker kan lid zijn van meer dan
één groep.AanmeldklasseAanmeldklassen zijn een uitbreiding op het
groepenmechanisme waarmee additionele flexibiliteit wordt
geboden bij het aanpassen van een systeem op verschillende
gebruikers.Wijzigingstijd wachtwoordStandaard dwingt &os; gebruikers niet tot het periodiek
wijzigen van hun wachtwoord. Dit kan wel per gebruiker
afgedwongen worden, zodat sommige of alle gebruikers hun
wachtwoord na een bepaalde periode moeten wijzigen.Verloopdatum accountStandaard verlopen accounts op &os; niet. Als er
accounts gemaakt worden waarvan bekend is dat ze maar een
beperkte tijd nodig zijn, bijvoorbeeld op een school waar
accounts bestaan voor studenten, dan kan er aangegeven
worden wanneer een account verloopt. Nadat de verloopdatum
is verstreken kan de account niet meer gebruikt worden om
aan te melden op een systeem, hoewel de mappen en bestanden
van de account nog wel blijven bestaan.Volledige gebruikersnaamDe gebruikersnaam identificeert de account uniek voor
&os;, maar die geeft niet zonder meer de echte naam van de
gebruiker weer. Deze informatie kan aan de account
gekoppeld worden.ThuismapDe thuismap is het volledige pad naar een map op een
systeem waar de gebruiker start als die aanmeldt op een
systeem. Het is de gewoonte dat alle thuismappen voor
gebruikers onder
/home/gebruikersnaam
of
/usr/home/gebruikersnaam
staan. Gebruikers slaan hun persoonlijke bestanden op in
hun thuismap en in mappen die daaronder worden
gemaakt.GebruikersshellDe shell biedt een standaardomgeving waarmee gebruikers
met een systeem werken. Er zijn vele shells en ervaren
gebruikers hebben hun eigen voorkeuren, die hun weerslag
kunnen hebben in hun accountinstellingen.Er zijn drie hoofdtypen accounts: de Superuser, systeemgebruikers en gebruikersaccounts. De Superuser
account, die meestal root heet, wordt
gebruikt om een systeem te beheren zonder beperkingen.
Systeemgebruikers kunnen diensten draaien. Tenslotte kunnen
gebruikersaccounts gebruikt worden door echte personen, die
aanmelden, e-mail lezen, enzovoort.De superuser accountaccountssuperuser (root)De superuser account, die meestal
root heet, is al ingesteld om gebruikt te
worden voor systeembeheer en hoort niet gebruikt te worden voor
dagelijkse werkzaamheden, zoals het sturen en ontvangen van
e-mail, het verkennen van het systeem of programmeren.Dit omdat de Superuser, anders dan gewone gebruikersaccounts,
zonder beperkingen kan opereren en misbruik van een Superuser
account kan resulteren in spectaculaire problemen.
Gebruikersaccounts kunnen niet per ongeluk een systeem vernielen,
dus het is aan te raden om wanneer maar mogelijk gewone
gebruikersaccounts te gebruiken, tenzij de extra privileges
noodzakelijk zijn.Commando's die als superuser worden uitgevoerd dienen altijd
twee of drie keer gecontroleerd te worden voordat ze worden
uitgevoerd, omdat een extra spatie of een missend karakter kan
leiden tot niet terug te draaien dataverlies.Als het niet al geregeld is, is het dus na het lezen van dit
hoofdstuk aan te raden als eerste een gebruikersaccount zonder
bijzondere rechten te maken voor de dagelijkse bezigheden. Dit
geldt zowel als het gaat over een machine voor één
gebruiker als wanneer het gaat over een machine voor meerdere
gebruikers. Later in dit hoofdstuk wordt beschreven hoe
additionele accounts gemaakt kunnen worden en hoe er tussen de
normale gebruiker en de Superuser gewisseld kan worden.SysteemaccountsaccountssysteemSysteemgebruikers draaien diensten, zoals DNS, mailservers,
webservers, enzovoort. De reden hiervoor is beveiliging. Als
alle diensten als Superuser zouden draaien, dan zouden ze zonder
beperkingen kunnen opereren.accountsdaemonaccountsoperatorVoorbeelden van systeemgebruikers zijn
daemon, operator,
bind (voor de Domain Name Service),
news en www.accountsnobodynobody is de generieke systeemgebruiker
zonder bijzondere privileges. Het is wel belangrijk om ervan
bewust te zijn dat hoe meer diensten nobody
gebruiken, hoe meer bestanden en processen er bij die gebruiker
horen en dat de gebruiker daardoor meer privileges kan
krijgen.GebruikersaccountsaccountsgebruikerGebruikersaccounts zijn het primaire middel dat echte
gebruikers gebruiken om toegang te krijgen tot een systeem en die
account schermen de gebruiker en de omgeving af, waardoor die
gebruikers het systeem of andere gebruikers niet kunnen
beschadigen en waardoor gebruikers hun omgeving kunnen aanpassen
zonder invloed te hebben op anderen.Iedereen die toegang heeft tot een systeem hoort een unieke
gebruikersaccount te hebben. Hierdoor is het mogelijk uit te
vinden wie wat aan het doen is, te voorkomen dat mensen elkaars
instellingen kunnen verpesten of elkaars e-mail kunnen lezen,
enzovoort.Iedere gebruiker kan zijn eigen omgeving instellen op een
systeem, door andere shells, editors, toetsenbordinstellingen en
taal te kiezen.Accounts wijzigenaccountswijzigenEr zijn vele commando's beschikbaar in de &unix; omgeving om
gebruikersaccounts te manipuleren. De meest gebruikte commando's
worden hieronder beschreven, gevolgd door meer gedetailleerde
voorbeelden van gebruik.CommandoSamenvatting&man.adduser.8;Het aanbevolen commandoregelprogramma voor het
aanmaken van nieuwe gebruikers.&man.rmuser.8;Het aanbevolen commandoregelprogramma voor het
verwijderen van gebruikers.&man.chpass.1;Een flexibel hulpprogramma voor het wijzigen van
informatie in de gebruikersdatabase.&man.passwd.1;Een eenvoudig commandoregelprogramma voor het
wijzigen van wachtwoorden van gebruikers.&man.pw.8;Een krachtig en flexibel hulpprogramma voor het
wijzigen van alle aspecten van
gebruikersaccounts.adduseraccountstoevoegenadduser/usr/share/skelskeleton map&man.adduser.8; is een eenvoudig programma voor het
aanmaken van nieuwe gebruikers. Er worden regels mee
toegevoegd aan de systeembestanden passwd
en group. Het maakt ook een thuismap voor
de nieuwe gebruiker, kopieert de standaard
instellingenbestanden (dotfiles) uit
/usr/share/skel en kan, optioneel, de
nieuwe gebruiker een welkomstbericht mailen.In &os; 5.0, is &man.adduser.8; herschreven van een
Perl script naar een shell script dat een wrapper om &man.pw.8;
is, zodat het gebruik wat verschilt tussen &os; 4.X en
&os; 5.X.Een eerste instellingenbestand kan gemaakt worden met
adduser -s -config_createDoor de optie start &man.adduser.8;
standaard in stille modus. Later wordt de optie
gebruikt als de standaarden worden
aangepast.
. Hierna worden de &man.adduser.8; standaarden ingesteld en kan
de eerste gebruikersaccount gemaakt worden, omdat het gebruik
van root voor normaal gebruik boosaardig
en naar kan zijn.adduser instellen en een gebruiker
op &os; 4.X toevoegen&prompt.root; adduser -v
Use option ``-silent'' if you don't want to see all warnings and questions.
Check /etc/shells
Check /etc/master.passwd
Check /etc/group
Enter your default shell: csh date no sh tcsh zsh [sh]: zsh
Your default shell is: zsh -> /usr/local/bin/zsh
Enter your default HOME partition: [/home]:
Copy dotfiles from: /usr/share/skel no [/usr/share/skel]:
Send message from file: /etc/adduser.message no
[/etc/adduser.message]: no
Do not send message
Use passwords (y/n) [y]: y
Write your changes to /etc/adduser.conf? (y/n) [n]: y
Ok, let's go.
Don't worry about mistakes. I will give you the chance later to correct any input.
Enter username [a-z0-9_-]: jru
Enter full name []: J. Random User
Enter shell csh date no sh tcsh zsh [zsh]:
Enter home directory (full path) [/home/jru]:
Uid [1001]:
Enter login class: default []:
Login group jru [jru]:
Login group is ``jru''. Invite jru into other groups: guest no
[no]: wheel
Enter password []:
Enter password again []:
Name: jru
Password: ****
Fullname: J. Random User
Uid: 1001
Gid: 1001 (jru)
Class:
Groups: jru wheel
HOME: /home/jru
Shell: /usr/local/bin/zsh
OK? (y/n) [y]: y
Added user ``jru''
Copy files from /usr/share/skel to /home/jru
Add another user? (y/n) [y]: n
Goodbye!
&prompt.root;Samenvattend is de standaard shell gewijzigd in
zsh (een extra shell uit de
Portscollectie) en is het sturen van een welkomstbericht aan
nieuwe gebruikers uitgeschakeld. Daarna zijn de instellingen
opgeslagen en is een account gemaakt voor
jru en is jru in de
groep wheel geplaatst (zodat die gebruiker
de rol van root mag aannemen met het
commando &man.su.1;).Het wachtwoord dat wordt ingegeven wordt niet weergegeven
en er worden ook geen sterretjes getoond. Het is belangrijk
geen typefouten in het wachtwoord te maken.Vanaf nu kan &man.adduser.8; zonder argumenten gebruikt
worden en hoeven de standaardinstellingen niet meer aangepast
te worden. Als het programma vraagt om de instellingen te
wijzigen, kan het verlaten worden en opnieuw gestart worden
met de optie .Een gebruiker toevoegen aan &os; 5.X&prompt.root; adduser
Username: jru
Full name: J. Random User
Uid (Leave empty for default):
Login group [jru]:
Login group is jru. Invite jru into other groups? []: wheel
Login class [default]:
Shell (sh csh tcsh zsh nologin) [sh]: zsh
Home directory [/home/jru]:
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
Username : jru
Password : ****
Full Name : J. Random User
Uid : 1001
Class :
Groups : jru wheel
Home : /home/jru
Shell : /usr/local/bin/zsh
Locked : no
OK? (yes/no): yes
adduser: INFO: Successfully added (jru) to the user database.
Add another user? (yes/no): no
Goodbye!
&prompt.root;rmuserrmuseraccountsverwijderenMet &man.rmuser.8; kan een gebruiker volledig van een
systeem verwijderd worden. &man.rmuser.8; voert de volgende
stappen uit:Verwijdert de &man.crontab.1; van de gebruiker (als die
bestaat).Verwijdert bestaande &man.at.1; taken van de
gebruiker.Stopt alle processen van de gebruiker.Verwijdert de gebruiker uit het lokale
wachtwoordbestand van een systeem.Verwijdert de thuismap van de gebruiker (als de
gebruiker daar eigenaar van is).Verwijdert de inkomende e-mail voor de gebruiker uit
/var/mail.Verwijdert alle bestanden waar de gebruiker eigenaar
van is uit opslaggebieden voor tijdelijke bestanden als
/tmp.Als laatste wordt de gebruikersnaam uit alle groepen
in /etc/group waar die lid van was
verwijderd.
Als een groep leeg raakt en de groepsnaam is
hetzelfde als de gebruikersnaam, dan wordt de groep
verwijderd. Dit is het tegenovergestelde van wat
&man.adduser.8; met een unieke groep per
gebruiker.&man.rmuser.8; kan niet gebruikt worden om superuser
accounts te verwijderen, omdat dat vrijwel altijd leidt tot
vreselijke verwoesting.Standaard wordt een interactieve modus gebruikt, die ervoor
zorgt dat alle stappen bewust worden genomen.Interactief accounts verwijderen met
rmuser&prompt.root; rmuser jru
Matching password entry:
jru:*:1001:1001::0:0:J. Random User:/home/jru:/usr/local/bin/zsh
Is this the entry you wish to remove? y
Remove user's home directory (/home/jru)? y
Updating password file, updating databases, done.
Updating group file: trusted (removing group jru -- personal group is empty) done.
Removing user's incoming mail file /var/mail/jru: done.
Removing files belonging to jru from /tmp: done.
Removing files belonging to jru from /var/tmp: done.
Removing files belonging to jru from /var/tmp/vi.recover: done.
&prompt.root;chpasschpass&man.chpass.1; wijzigt informatie in de gebruikersdatabase,
zoals wachtwoorden, shells en persoonlijke informatie.Alleen systeembeheerders, zoals de Superuser, mogen de
informatie en wachtwoorden voor andere andere gebruikers
wijzigen met &man.chpass.1;.Als er geen opties worden meegegeven, buiten de optionele
gebruikersnaam, dan toont &man.chpass.1; een editor waarin de
gebruikersinformatie wordt weergegeven. Als de gebruiker de
editor verlaat, dan wordt de gebruikersdatabase bijgewerkt met
de nieuwe informatie.In &os; 5.X wordt er gevraagd om een wachtwoord na
het verlaten van de editor als de uitvoerende gebruiker geen
superuser is.Interactieve chpass door
superuser#Informatie in de gebruikersdatabase wijzigen voor jru.
Login: jru
Password: *
Uid [#]: 1001
Gid [# or name]: 1001
Change [month day year]:
Expire [month day year]:
Class:
Home directory: /home/jru
Shell: /usr/local/bin/zsh
Full Name: J. Random User
Office Location:
Office Phone:
Home Phone:
Other information:Een normale gebruiker kan slechts een deel van de
bovenstaande informatie wijzen en alleen voor zijn eigen
account.Interactieve chpass door een gewone
gebruiker#Informatie in de gebruikersdatabase wijzigen voor jru.
Shell: /usr/local/bin/zsh
Full Name: J. Random User
Office Location:
Office Phone:
Home Phone:
Other information:&man.chfn.1; en &man.chsh.1; zijn gewoon links naar
&man.chpass.1;. Dat geldt ook voor &man.ypchpass.1;,
&man.ypchfn.1; en &man.ypchsh.1;. Ondersteuning voor NIS
gaat automatisch; er hoeft dus geen yp
voor het commando aangegeven te worden. NIS wordt behandeld
in .passwdpasswdaccountswachtwoord wijzigenMet &man.passwd.1; wijzigt een gebruiker gewoonlijk zijn
eigen wachtwoord of dat van een andere gebruiker als het door
de Superuser wordt uitgevoerd.Om onbedoelde of ongeautoriseerde wijzigen te voorkomen
moet het originele wachtwoord worden ingegeven voordat een
nieuw wachtwoord kan worden ingesteld.Wachtwoord wijzigen&prompt.user; passwd
Changing local password for jru.
Old password:
New password:
Retype new password:
passwd: updating the database...
passwd: doneAls superuser het wachtwoord van een andere gebruiker
wijzigen&prompt.root; passwd jru
Changing local password for jru.
New password:
Retype new password:
passwd: updating the database...
passwd: doneNet als bij &man.chpass.1; is &man.yppasswd.1; gewoon een
link naar &man.passwd.1;, dus NIS werkt met beide
commando's.pwpw&man.pw.8; is een commandoregelhulpprogramma om gebruikers
en groepen te maken, verwijderen, aan te passen en weer te
geven. Het werkt als een voorkant voor de systeembestanden met
gebruikers en groepen. &man.pw.8; heeft een zeer krachtige set
commandoregelopties, waardoor het erg geschikt is om in shell
scripts gebruikt te worden. Nieuwe gebruikers vinden het
wellicht gecompliceerder dan de andere commando's die hier
beschreven worden.Gebruikers beperkengebruikers beperkenaccountsbeperkenBij het hebben van gebruikers komt wellicht ook de gedachte
aan het beperken van de mogelijkheden op een systeem. &os;
biedt een aantal mogelijkheden waarmee een beheerder de
hoeveelheid systeembronnen die een gebruiker kan aanwenden kan
beperken. Die beperkingen zijn onderverdeeld in twee onderdelen:
schijfquota en andere beperkingen voor bronnen.quotagebruikers beperkenquotaschijfquotaSchijfquota beperken het schijfgebruik voor gebruikers en ze
bieden een mogelijkheid om dat gebruik snel te controleren zonder
het iedere keer te hoeven berekenen. Quota worden besproken in
.De overige beperking van bronnen omvat het beperken van het
gebruik van CPU, geheugen en andere bronnen die gebruikers tot
hun beschikking hebben. Die worden ingesteld in aanmeldklassen
en worden hieronder beschreven./etc/login.confAanmeldklassen worden ingesteld in
/etc/login.conf. De precieze semantiek
wordt niet behandeld in dit handboek, maar die staat beschreven
in &man.login.conf.5;. Hier is het voldoende aan te geven dat
iedere gebruiker wordt toegewezen aan een aanmeldklasse
(standaard default) en dat iedere
aanmeldklasse verbonden is met een groep aanmeldmogelijkheden
(login capability). Een aanmeldmogelijkheid is een
naam=waarde
paar, waar naam een bekende eigenschap
is en waarde een arbitraire string is
die wordt verwerkt afhankelijk van de naam. Het instellen van
aanmeldklassen en -mogelijkheden is een redelijk eenvoudig proces
en wordt ook beschreven in &man.login.conf.5;.
- Een systeem leest de instellingen uit
+ Een systeem leest de instellingen uit normaal gesproken
/etc/login.conf niet direct, maar leest
- het databasebestand /etc/login.conf.db.
+ het databasebestand /etc/login.conf.db
+ welke snellere opzoekmogelijkheden biedt.
/etc/login.conf.db kan met het volgende
commando gemaakt worden uit
/etc/login.conf:&prompt.root; cap_mkdb /etc/login.confBeperkingen van bronnen verschillen van standaard
aanmeldmogelijkheden op twee manieren. Ten eerste is er voor
iedere beperking een zachte en een harde limiet. Een zachte
(huidige) limiet kan door een gebruiker of applicatie aangepast
worden, maar mag niet hoger zijn dan de harde limiet. De laatste
kan door een gebruiker verlaagd worden, maar nooit verhoogd.
Deze verschillen worden veroorzaakt door de specifieke
behandeling van de beperkingen, niet door de implementatie van
het aanmeldmogelijkheden framework, dat wil zeggen dat ze niet
echt bijzondere aanmeldmogelijkheden
zijn.Hieronder worden de meest gebruikte beperkingen op bronnen
beschreven. De overige mogelijkheden, samen met alle andere
aanmeldmogelijkheden, staat beschreven in
&man.login.conf.5;.coredumpsizecoredumpsizegebruikers beperkencoredumpsizeDe limiet op de grootte van een corebestand dat wordt
gemaakt door een programma is, om verschillende redenen,
ondergeschikt aan andere beperkingen op het gebied van
schijfgebruik (bijvoorbeeld filesize of
schijfquota). Desalniettemin wordt deze instelling vaak
gebruikt als een minder zware methode voor het beheersen
van het gebruik van schijfruimte. Omdat gebruikers niet
hun eigen corebestanden maken en ze vaak niet verwijderen,
kan deze instelling helpen te voorkomen dat een schijf vol
loopt in het geval een groot programma (bijvoorbeeld
emacs) zou crashen.cputimecputimegebruikers beperkenprocessortijdDit is de maximale hoeveelheid processortijd die een
proces van een gebruiker mag gebruiken. Processen die meer
bronnen gebruiken worden afgeschoten door de kernel.
Dit is een beperking op de CPU
tijd die wordt gebruikt, niet op
een percentage van de CPU, zoals wordt getoond in
sommige velden door &man.top.1; en &man.ps.1;. Een
limiet op de laatste is op het moment van schrijven
niet mogelijk en zou ook redelijk waardeloos zijn:
een compiler – waarschijnlijk een legitieme taak
– kan makkelijk gedurende enige tijd bij 100% van
een CPU gebruiken.filesizefilesizegebruikers beperkenfilesizeDit is de maximale grootte voor een bestand waar een
gebruiker eigenaar van kan zijn. Anders dan bij schijfquota is deze limiet van
toepassing op individuele bestanden en niet op alle
bestanden samen waarvan een gebruiker eigenaar is.maxprocmaxprocgebruikers beperkenmaxprocDit is het maximale aantal processen dat een gebruiker
mag draaien. Hieronder vallen zowel processen die op de
voorgrond draaien als op de achtergrond. Om duidelijke
reden kan deze waarde niet groter zijn dan de ingestelde
systeemlimiet voor kern.maxproc met
&man.sysctl.8;. Het te laag zetten van deze instelling kan
de productiviteit van een gebruiker schaden: vaak is het
zinvol om meerdere keren aangemeld te zijn of om pipelines
uit te voeren. Sommige taken, zoals het compileren van een
groot programma, spawnen ook meerdere processen
(bijvoorbeeld &man.make.1;, &man.cc.1; en andere
tussentijdse preprocessors).memorylockedmemorylockedgebruikers beperkenmemorylockedDit is de maximale hoeveelheid geheugen die een proces
mag claimen om te locken in het hoofdgeheugen (zie
bijvoorbeeld &man.mlock.2;). Sommige systeemkritische
programma's, zoals &man.amd.8;, locken in het
hoofdgeheugen, zodat zij, in het geval het wisselbestand
gebruikt moet worden, niet hoeven bij te dragen aan dat
proces als het nodig is.memoryusememoryusegebruikers beperkenmemoryuseDit is de maximale hoeveelheid geheugen die een proces
op enig moment mag gebruiken. Hieronder vallen zowel
hoofdgeheugen als het gebruik van het wisselbestand. Deze
limiet vangt niet al het geheugengebruik af, maar het is
een prima begin.openfilesopenfilesgebruikers beperkenopenfilesDit is het maximale aantal bestanden dat een proces
open mag hebben. In &os; representeren bestanden ook
sockets en IPC kanalen. Deze limiet mag dus niet te laag
gezet worden. De limiet voor het systeem staat ingesteld
in kern.maxfiles van
&man.sysctl.8;.sbsizesbsizegebruikers beperkensbsizeDit is de limiet op de hoeveelheid netwerkgeheugen, en
dus mbufs, die een gebruiker ter beschikking staan. Deze
waarde komt voort uit het antwoord op een DoS aanval
waarmee veel sockets werden gemaakt, maar het kan in het
algemeen gebruikt worden om de hoeveelheid
netwerkcommunicatie te limiteren.stacksizestacksizegebruikers beperkenstacksizeDit is de maximale grootte voor een stack van een
proces. Deze instelling alleen is niet genoeg om de
hoeveelheid geheugen die een programma mag gebruiken te
beperken. Daarom moet deze limiet samen met andere
limieten gebruikt worden.Er zijn nog een aantal dingen belangrijk bij het instellen
bronbeperkingen. Hierna worden een aantal algemene tips,
suggesties en commentaren gegeven.Processen die bij het opstarten van een systeem gestart
worden vanuit /etc/rc worden toegewezen
aan de aanmeldklasse daemon.Hoewel de /etc/login.conf die bij
een systeem zit een goede bron is voor redelijke waardes voor
de meeste limieten, kan alleen de beheerder van een machine
de echt juiste waarden kennen. Het te hoog instellen van een
limiet kan een systeem kwetsbaar maken voor misbruik, terwijl
het te laag instellen van limieten de productiviteit te veel
kan hinderen.Gebruikers van het X Window systeem (X11) horen
waarschijnlijk meer bronnen toegewezen te krijgen dan andere
gebruikers. X11 gebruikt zelf al meer bronnen, maar het
moedigt gebruikers ook aan om meerdere programma's
tegelijkertijd te draaien.Het is belangrijk niet te vergeten dat veel limieten
betrekking hebben op individuele processen en niet op een
hele gebruiker. Het instellen van bijvoorbeeld
openfiles op 50, betekent dat ieder proces
dat een gebruiker draait 50 open bestanden mag hebben. Het
totale aantal bestanden dat een gebruiker dus open kan hebben
is het produkt van de waarde van openfiles
en de waarde van maxproc. Dit geldt ook
voor het gebruik van geheugen.Meer informatie over bronbeperkingen en aanmeldklassen in het
algemeen staan in de relevante hulppagina's: &man.cap.mkdb.1;,
&man.getrlimit.2;, &man.login.conf.5;.Groepengroepen/etc/groupsaccountsgroepenEen groep is eenvoudigweg een lijst gebruikers. Groepen
kunnen geïdentificeerd worden aan de hand van hun naam en
GID (Groep ID). In &os; (en de meeste andere &unix; achtige
systemen), worden besluiten door de kernel over of een proces
iets wel of niet mag doen genomen op basis van het bijbehorende
gebruikers ID en een lijst van groepen waar dat bij hoort.
Anders dan bij een gebruikers ID, heeft een proces een lijst met
bijbehorende groepen. Sommige programma's refereren wel eens aan
het groep ID van een gebruiker of een proces.
Meestal is dit gewoon de eerste groep in de hiervoor genoemde
lijst.De vertaling van groep ID naar groepsnaam staat in
/etc/group. Dit is een tekstbestand met
vier velden die door het karakter : (dubbele
punt) worden gescheiden. Het eerste veld is de groepsnaam, het
tweede veld is het versleutelde wachtwoord, het derde het groep
ID, het vierde een door komma's gescheiden lijst van leden van de
groep. Het bestand kan zonder gevaar met de hand aangepast
worden (aangenomen dat er geen fouten in de syntaxis worden
gemaakt, natuurlijk). Een volledige beschrijving van de syntaxis
staat in &man.group.5;.Als het onwenselijk is om /etc/group met
de hand aan te passen, dan kan &man.pw.8; gebruikt worden voor
het toevoegen en wijzigen van groepen. Om bijvoorbeeld een groep
met de naam teamtwo toe te voegen en
daarna het bestaan van die groep te bevestigen:Groepen toevoegen met &man.pw.8;&prompt.root; pw groupadd teamtwo
&prompt.root; pw groupshow teamtwo
teamtwo:*:1100:Het getal 1100 hierboven is het groep ID
van de groep teamtwo. Met de huidige
instelling heeft teamtwo geen leden en is
die redelijk waardeloos. Dat kan veranderen door
jru aan de groep
teamtwo toe te voegen.Gebruikers aan groepen toevoegen met &man.pw.8;&prompt.root; pw groupmod teamtwo -M jru
&prompt.root; pw groupshow teamtwo
teamtwo:*:1100:jruHet argument voor de optie is een door
komma's gescheiden lijst van gebruikers die lid moeten zijn van
de aangegeven groep. In de voorgaande paragrafen is al
aangegeven dat het password bestand ook voor iedere gebruiker een
groep bevat. Een gebruiker wordt automatisch toegevoegd aan
de groepenlijst door een systeem. De gebruiker wordt niet als
lid getoond van die groep bij het gebruik van de optie
van &man.pw.8;, maar wordt wel getoond
als de informatie wordt opgevraagd via &man.id.1; of met een
soortgelijk programma. Met andere woorden: &man.pw.8; wijzigt
alleen het bestand /etc/group en probeert
nooit extra informatie te lezen uit
/etc/passwd.&man.id.1; gebruiken om groepslidmaatschap te
bepalen&prompt.user; id jru
uid=1001(jru) gid=1001(jru) groups=1001(jru), 1100(teamtwo)Hierboven is te zien dat jru lid is van
de groepen jru en
teamtwo.Meer informatie over &man.pw.8; staat in de hulppagina en
meer informatie over de opmaak van
/etc/group staat in &man.group.5;.