# Gebruikersbeheer
Het lijkt dus alsof er niets gebeurt wanneer je een wachtwoord intikt.
De ⟵ Backspace wist dus geen tekens, zodat je volledig opnieuw moet proberen als je een fout in het wachtwoord typt.
# Groepen
Gebruikers behoren minstens tot 1 groep. Nieuwe gebruikers behoren standaard al tot een groep met dezelfde naam als hun gebruikersnaam.
In het bestand /etc/group
staan alle groepen per regel en hun leden. De leden van een groep worden gescheiden door een komma (,
).
$ cat /etc/group
GID | Betekenis |
---|---|
0 | Groep van de rootgroep. |
1 tot en met 99 | Voorgedefinieerde groepen. |
100 tot en met 999 | Gereserveerd voor systeem- en beheerdersgroepen. |
1000 en volgende | Gereserveerd voor gebruikersgroepen. |
1000
is de groep die tijdens de installatie van het besturingssysteem aangemaakt werd. Bij het maken van nieuwe groepen wordt er telkens het volgend vrije nummer gebruikt.
# Toevoegen
Met de opdracht addgroup
(Eng. add group; Ned. groep toevoegen) voeg je een nieuwe groep toe aan het systeem. De groep krijgt automatisch een GID.
addgroup «groepsnaam»
Voegt een nieuwe groep met de naam«groepsnaam»
toe aan het systeem. De gr
Voorbeeld:
$ sudo add group mijngroep
Adding group `mijngroep' (GID 1001) ...
Done.
$ cat /etc/group | grep mijngroep
mijngroep:x:1001:
$ _
# Verwijderen
Met de opdracht delgroup
(Eng. delete group; Ned. groep verwijderen) verwijder je een bestaande groep van het systeem.
delgroup «groepsnaam»
Verwijdert de bestaande groep met de naam «groepsnaam».
Voorbeeld:
$ sudo delgroup mijngroep
Removing group `mijngroep' ...
Done.
$ cat /etc/group | grep mijngroep
$ sudo delgroup mijngroep
The group `mijngroep' does not exist.
$ _
# Gebruikers
UID | Betekenis |
---|---|
0 | De rootgebruiker. |
1 tot en met 99 | Voorgedefinieerde gebruikers. |
100 tot en met 999 | Gereserveerd voor systeemgebruikers en beheerders. |
1000 en volgende | Gereserveerd voor gebruikers. |
1000
is de gebruiker die tijdens de installatie van het besturingssysteem aangemaakt werd. Bij het maken van nieuwe gebruikers wordt er telkens het volgend vrije nummer gebruikt.
# Tonen
# Huidige gebruiker
De naam van de huidige gebruiker staat in de variabele $USER
.
$ echo $USER
pi
$ _
Met de opdracht id
(Eng. identifier; Ned. identificeermiddel) kan je in meer detail zien wie de huidige gebruiker is.
id
id «gebruikersnaam»
id -«optie(s)» «gebruikersnaam»
u
(Eng. user; Ned. gebruiker)
id --user «gebruikersnaam»
Toont enkel de UID van de huidige gebruiker.g
(Eng. group; Ned. groep)
id --group «gebruikersnaam»
Toont enkel de GUI van de groep waartoe de gebruiker behoort.n
(Eng. name; Ned. naam)id --name «gebruikersnaam»
Toont de naam in plaats van de ID.
Voorbeelden:
$ id --help
$ id
$ id --user --name
$ id -un
$ id --group --name
$ id -gn
$ id root
$ id pi
# Aangemelde gebruikers
Met de opdracht who
(Eng. who am I?; Ned. wie ben ik?) kan je zie wie de aangemelde gebruikers zijn.
Voorbeelden:
$ who --help
$ who
# Toevoegen
Met de opdracht adduser
(Eng. add user; Ned. gebruiker toevoegen) voeg je een nieuwe gebruiker (en zo nodig ook een nieuwe groep) toe aan het systeem. De gebruiker krijgt automatisch een UID en een thuismap.
adduser «naam»
Voegt een nieuwe gebruiker en groep toe aan het systeem.adduser «gebruikersnaam» «groepsnaam»
Voegt een bestaande gebruiker«gebruikersnaam»
toe aan een bestaande groep«groepsnaam»
.
Voorbeeld 1:
$ adduser --help
Voorbeeld 2:
$ sudo adduser mijngebruiker
Adding user `mijngebruiker' (1001) ...
Adding new group `mijngebruiker' (1001) ...
Adding user `mijngebruiker' (1001) with group `mijngebruiker' ...
Creating home directory `/home/mijngebruiker' ...
Copying files form `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for mijngebruiker
Enter the new value, or press ENTER for the default
Full Name []: Mijn Gebruiker
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the informatie correct? [Y/n] y
$ _
Na het ingeven van het wachtwoord en de bevestiging, worden er nog een aantal (optionele) persoonlijke gegevens van de nieuwe gebruiker gevraagd.
In het tekstbestand /etc/passwd
wordt vervolgens een nieuwe gebruiker toegevoegd.
$ sudo cat /etc/passwd
Het formaat van de toevoeging – met dubbelepunt (:
) als scheidingsteken – is:
- Gebruikersnaam.
- Wachtwoord.
Dex
geeft aan dat het wachtwoord in het bestand/etc/shadow
gehasht is. - UID van de gebruiker.
- GID van de primaire groep.
Als er een nieuwe groep gemaakt wordt voor de gebruiker dan heeft de groep hetzelfde nummer als de UID. De groepen worden opgeslagen in het bestand/etc/group
. - Gebruikersinformatie.
De informatie wordt gescheiden met een komma (
,
). - Pad van de thuismap.
Deze map werd automatisch aangemaakt bij het toevoegen van de gebruiker. - Pad van de shell voor de gebruiker.
Standaard is dit/bin/bash
.
Voorbeeld 3:
$ sudo adduser mijngebruiker sudo
Adding user `mijngebruiker' to group `sudo'
Done.
# Verwijderen
Met de opdracht deluser
(Eng. delete user; Ned. gebruiker verwijderen) verwijder je een bestaande gebruiker van het systeem of uit een groep.
deluser «gebruikersnaam»
Verwijdert de bestaande gebruiker met de naam«gebruikersnaam»
.deluser «gebruikersnaam» «groepsnaam»
Verwijdert een bestaande gebruiker«gebruikersnaam»
uit een bestaande groep«groepsnaam»
.
# Wisselen
Met de opdracht su
(Eng. substitute user; Ned. verwissel gebruiker) kan je van gebruiker wisselen.
su
Zonder«user-id»
verwissel je met de superuser, die heeft als naamroot
.su «user-id»
Verwissel de gebruiker met«user-id»
.
Voorbeelden:
$ su --help
$ su
$ su pi
$ exit
$ _
# Opdracht als gebruiker
Met de opdracht sudo
(Eng. superuser do; Ned. superuser doe) kan je een opdracht uitvoeren met de identiteit van een andere gebruiker.
sudo «opdracht»
Voer opdracht uit als superuser.sudo --user «user-id» «opdracht»
sudo -u «user-id» «opdracht»
Voer opdracht uit als een andere gebruiker.sudo --login
sudo -i
Vergelijkbaar metsu
Voorbeeld:
$ sudo --help
De sudoers-lijst staat in het bestand /etc/sudoers
. Je voegt een gebruiker toe via de opdracht visudo
(vi sudo) die vernoemd is naar de teksteditor vi. De lijst wordt geopend in de standaardteksteditor van het systeem. Meestal is de standaardteksteditor nano
.
$ sudo visudo
$ id | grep sudo
# Wachtwoorden
De hashcodes (Ned. klutscodes) van de wachtwoorden worden opgeslagen in het bestand /etc/shadow
.
$ sudo cat /etc/shadow | grep pi
Een hashcode is een vingerafdruk van een wachtwoord. Om de geldigheid van een wachtwoord te controleren gaat men de hashcode opnieuw berekenen en vergelijken met de opgeslagen hashcode.
Het is in principe onmogelijk is om op basis van de hashcode het wachtwoord te ontcijferen, omdat hashing maar in één richting werkt. Het bevat te weinig informatie om oorspronkelijke input terug te rekenen. In theorie en in de praktijk is het mogelijk om het wachtwoord via brute kracht (Eng. brute force) te achterhalen door de hashcodes voor alle mogelijke tekencombinaties gaan berekenen. Dit vergt heel veel middelen (tijd, rekenkracht en geld) maar is door cloud computing en botnets[1] toch realistisch geworden. Hackers gebruiken hiervoor ook regenboogtabellen.
Je kan voorberekende regenboogtabellen downloaden (opens new window).
Een salt gebruiken is een manier om (bestaande) regenboogtabellen gebruiken lastiger te maken.
Een salt maakt het voor hackers heel wat moeilijker omdat ze geen bestaande regenboogtabellen kunnen gebruiken, maar een specifieke regenboogtabel moeten opstellen voor dat bepaalde salt. Bovendien moeten ze niet enkel de hashcodes bemachtigen en weten welk hashingalgoritme er gebruikt werd, maar ook weten wat het gebruikte salt is.
# Wijzigen
Met de opdracht passwd
(Eng. password; Ned. wachtwoord) wijzig je het wachtwoord van een gebruiker.
passwd
Wijzigt het wachtwoord van de huidige gebruiker.sudo passwd
Wijzigt het wachtwoord van de rootgebruiker.passwd «gebruikersnaam»
Wijzigt het wachtwoord van een gebruiker met naam«gebruikersnaam»
.
Voorbeeld:
$ passwd --help
# Verwijderen
passwd --delete «gebruikersnaam»
(Eng. delete; Ned. verwijderen)
passwd -d «gebruikersnaam»
Verwijdert het wachtwoord van een gebruiker met naam«gebruikersnaam»
.
Voorbeeld:
$ sudo passwd -d mijngebruiker
passwd: password expiry information changed.
$ _
Een botnet is een zwerm gehackte computers die vanop afstand door criminelen gebruikt worden. ↩︎