Ga naar inhoud

πŸ‘₯ Het groups Commando in Linux

In deze handleiding leer je hoe je groups gebruikt op een Linux-systeem.

Het commando groups wordt gebruikt om de groepen weer te geven waartoe een gebruiker behoort.
Dit is belangrijk voor toegangsbeheer en permissies in Linux, omdat groepen bepalen welke bestanden, mappen en commando’s toegankelijk zijn.

Achtergrondinformatie

Het commando groups is standaard aanwezig op vrijwel alle Unix/Linux-systemen.

  • Het toont de primaire groep en alle secundaire groepen van een gebruiker.
  • Zonder argument toont het de groepen van de huidige gebruiker.
  • Met een gebruikersnaam als argument toont het de groepen van die specifieke gebruiker.
  • groups is vooral nuttig voor systeembeheerders die gebruikersrechten beheren.

Controleren of groups aanwezig is

Het groups-commando staat bijna altijd standaard op je systeem geΓ―nstalleerd.

Controleer dit met:

groups --version
Voorbeeldoutput
groups (GNU coreutils) 9.1
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.

βš™οΈ Installeren van groups

Het commando groups maakt deel uit van het pakket GNU coreutils.
Daarom is het op vrijwel alle Linux-distributies standaard geΓ―nstalleerd, inclusief Debian en Ubuntu.

Installatie op Debian/Ubuntu:

sudo apt update
sudo apt install coreutils

Voorbeeldoutput
groups (GNU coreutils) 8.30
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.

Hieronder vind je enkele veelgebruikte combinaties van het groups-commando:

  • groups β†’ Toon de groepen van de huidige gebruiker
Voorbeeld gebruik van groups

Commando:

groups
Voorbeeldoutput:
user : user adm cdrom sudo dip plugdev lpadmin lxd sambashare

  • groups gebruikersnaam β†’ Toon de groepen van een andere gebruiker
Voorbeeld gebruik van groups gebruikersnaam

Commando:

groups jan
Voorbeeldoutput:
jan : jan adm sudo

  • id -Gn β†’ Alternatief commando dat dezelfde informatie geeft
  • id -G β†’ Toont de groeps-ID’s (GIDs) in plaats van de namen

Het groups-commando zelf heeft geen configuratie, maar kan gecombineerd worden met shell-scripts of aliassen:

Voorbeeld alias

Voeg dit toe aan ~/.bashrc:

alias mygroups='groups $USER'

Logging van het groups-commando

Het groups-commando schrijft zelf geen logbestanden weg.
Wil je het gebruik monitoren, dan kan dat met auditd.

Voorbeeld auditd regel

sudo auditctl -w /usr/bin/groups -p x -k groups_monitor
  • -w /usr/bin/groups β†’ bewaak het bestand groups
  • -p x β†’ log bij uitvoeren
  • -k groups_monitor β†’ tag voor herkenning

Logs bekijken:

ausearch -k groups_monitor

Of rechtstreeks in:

less /var/log/audit/audit.log

Updaten van groups

Het groups-commando maakt deel uit van coreutils.
Update het pakket via de package manager van je distributie.

Voorbeeld (Debian/Ubuntu):

sudo apt update
sudo apt install --only-upgrade coreutils

Verwijderen van groups

Het groups-commando kan verwijderd worden, maar dit is niet aanbevolen, omdat het onderdeel is van coreutils en cruciaal kan zijn voor systeembeheer.

Voorbeeld alias om groups te blokkeren:

alias groups='echo "groups is uitgeschakeld"'

πŸ“– Handleiding

De ingebouwde handleiding van Linux-commando’s is altijd beschikbaar via man.
Voor groups:

man groups
Voorbeeld
GROUPS(1)                  User Commands                 GROUPS(1)

NAME
       groups - print the groups a user is in

SYNOPSIS
       groups [OPTION]... [USERNAME]...

DESCRIPTION
       Print the groups of the specified USER(s), or the current process.