next up previous contents index
Volgende: 6.2 Basiscommando's Omhoog: 6 Basiskennis Vorige: 6 Basiskennis   Inhoudsopgave   Index

6.1 Gebruikers, inloggen en uitloggen

Tijdens de installatie van sommige distributies wordt er meteen gevraagd om een normale gebruiker aan te maken naast root. Als het installatieprogramma van jouw distributie dat niet vraagt, moet je dat zelf doen naderhand. De root user, ook wel superuser genoemd, mag alles doen. Hij mag alle directories bekijken en alle bestanden veranderen en verwijderen. Daarom is het ook gevaarlijk om de hele tijd als root te werken. Je kunt o.a. gemakkelijk iets fout doen. Maak voor jezelf een normale gebruiker aan met:

useradd jarkko
passwd jarkko

Verander hierin jarkko door een naam die je graag wilt gebruiken. Gebruik liever geen hoofdletters in de inlognamen. Stuur je met sendmail mail naar een user die in zijn inlognaam hoofdletters heeft, dan wordt die mail gestuurd naar de user met dezelfde inlognaam maar dan met alleen kleine letters. Als die user niet bestaat, dan komt het nergens aan. Dit komt doordat e-mailadressen niet hoofdlettergevoelig zijn.

Om een nieuwe gebruiker aan te maken moet je root zijn. Useradd is een script om het proces van een nieuwe gebuiker aanmaken te automatiseren. De meeste distributies zullen zo'n script wel bevatten, maar het hoeft niet. Als useradd niet bestaat, probeer dan eens adduser. Bestaat dat ook niet, dan moet je met je hand voor de nieuwe gebruiker een home directory aanmaken in /home. In die directory mag de gebuiker als zijn configuratie- en andere persoonlijke bestanden zetten. Het is gebruikelijk de home directory hetzelfde te noemen als de loginnaam. Voeg vervolgens een regel toe aan /etc/passwd en eventueel /etc/group. Wat scripts als useradd daarnaast nog doen is de inhoud van /etc/skel kopieren naar de nieuwe home directory.

Regels in /etc/passwd zitten als volgt in elkaar:

jarkko:x:500:500:Jarkko Huijts:/home/jarkko:/bin/bash

Van links naar rechts staat er de gebruikersnaam, zijn geëncrypteerde wachtwoord, de UID (user-ID), de GID (group-ID), een veld met informatie over de gebruiker (meestal zijn volledige naam), zijn home directory en tenslotte zijn shell. De populairste shell is bash. Naast bash bestaan er o.a. ash, bsh, tcsh, csh en zsh. De shell moet in /etc/shells staan, anders mag de gebruiker niet inloggen. Nieuwere distributies maken gebruik van shadow passwords. Daarbij staat het wachtwoord in /etc/shadow (een bestand dat naast root door niemand gelezen mag worden) en staat in /etc/passwd enkel x op de plaats van het wachtwoord. Om het wachtwoord van een gebruiker te veranderen kun je passwd user gebruiken. (Als je geen gebruiker opgeeft verander je je eigen paswoord.) De gebruiker kan alleen zijn eigen wachtwoord veranderen. Root kan alle wachtwoorden wijzigen.

De user-ID en group-ID zijn nummers die de gebruiker resp. de groep waar hij toe behoort aangeven. Gebruik een UID (en GID) van 500 of hoger als je er zelf een wilt kiezen. De GIDs kun je terugvinden in /etc/group. (Wil je een nieuwe gebruiker tot een bepaalde groep laten behoren, dan kun je de optie -g GID gebruiken bij useradd.)

Een regel in /etc/group zit als volgt in elkaar:

jarkko:x:505:jarkko

Van links naar rechts staat er de naam van de groep, het wachtwoord voor de groep (meestal geen), de GID (group-ID) en achteraan een lijstje met gebruikers die tot die groep behoren. Zijn er meerdere gebruikers, dan moet je een komma tussen de namen zetten. Je kunt dit lijstje van gebruikers ook wel weglaten, maar het is handig voor jezelf als je veel gebruikers hebt.

Log voortaan in als normale gebruiker i.p.v. root. Je moet wel root zijn als je een programma wilt installeren of belangrijke bestanden wilt aanpassen. Je kunt van normale gebruiker naar root overgaan met het commando su (substitute user). Je moet dan vanzelfsprekend wel het root-wachtwoord opgeven. Je kunt achter su ook een gebruikersnaam zetten om een andere gebruiker te worden. Stop met root (of een andere gebruiker) zijn met het commando exit of ctrl+d. Dat commando moet ook gebruikt worden om een shell die binnenin een andere shell is gestart te verlaten. Een shell binnen de huidige shell starten kan bijv. door bash in te tikken.

Als je bent ingelogd zit je in de console met een bepaalde shell (meestal bash). Achter de prompt van de shell kun je commando's intikken. Je kunt onder meerdere consoles tegelijk inloggen. Gebruik alt + een functietoets om van console te switchen. Je kunt ook met alt + pijltjes naar links en rechts door de consoles wandelen. Met alt + F7 kom je onder X als die gestart is. Als je vanuit X naar een console wil, moet je naast alt ook de ctrl-toets indrukken.

Uitloggen in een terminal doe je met exit of logout. Je kunt ook ctrl+d intikken.

Om de grafische omgeving (X) te starten moet je startx intikken. Als het nog niet gebeurd is tijdens de installatie of als het toen niet goed ging, moet X nog wel eerst geconfigureerd worden. Meer daarover kun je vinden in hoofdstuk 14. Het kan zijn dat de runlevel tot waar het systeem moet worden opgestart zo is ingesteld, dat X al bij het booten van Linux wordt gestart. Je krijgt dat een grafische loginprompt, zoals xdm, gdm of kdm (resp. de originele grafische loginprompt, die van Gnome en die van KDE). Als X niet goed is geconfigureerd, zal dat voor problemen zorgen. Je kunt met dan met ctrl+alt+functietoets naar een console switchen. Als je, net zoals ik, niet gedient bent van zo'n grafische loginprompt, dan kun je de runlevel om tot te booten aanpassen. Open daartoe het bestand /etc/inittab met een editor en zoek de regel id:5:initdefault: op. De 5 is bij RedHat de runlevel van X. De nummers van de runlevels kunnen per distributie verschillen. Vaak staan de nummers in inittab aangegeven. Als je wilt starten in multiuser mode moet je bij RedHat de 5 in een 3 veranderen. Gebruik init q om de wijzigingen door te voeren. Na een reboot is de wijziging ook van kracht.

Wil je je computer uitzetten, druk dan niet zomaar de aan- en uitknop in! Dat kan zelfs voor een corrupt filesystem zorgen als je pech hebt. Om Linux netjes af te sluiten, moet je het commando shutdown -h now gebruiken. Vervang de h (van halt) door r om te rebooten. Shutdown mag alleen door root worden uitgevoerd. Je moet je voorstellen dat een server niet zomaar door elke gebruiker mag worden afgesloten. Maar omdat je waarschijnlijk toch de enige gebruiker bent op je Linux-systeem, wordt bij de meeste distributie de toetsencombinatie ctrl+alt+del opgevangen door /etc/inittab, waardoor shutdown wordt uitgevoerd. Met andere woorden: je kunt ctr+alt+del gebruiken om het systeem af te sluiten.


next up previous contents index
Volgende: 6.2 Basiscommando's Omhoog: 6 Basiskennis Vorige: 6 Basiskennis   Inhoudsopgave   Index
Jarkko Huijts 2002-08-17