Bij het beheren van gebruikers en groepen op een Linux-systeem zijn Gebruikers-ID (UID) en Groep-ID (GID) fundamentele en kritieke concepten. Deze ID’s worden gebruikt om gebruikers en groepen op het systeem uniek te identificeren. Ze hebben direct invloed op het beheer van gebruikersrechten en de controle op toegang tot bestanden, daarom moeten systeembeheerders en ontwikkelaars deze ID’s efficiënt kunnen controleren en begrijpen. Dit artikel biedt een gedetailleerde uitleg over hoe deze ID’s eenvoudig te controleren met behulp van command-line tools en systeembestanden.
Wat zijn UID en GID
UID (Gebruikers-ID) en GID (Groep-ID) zijn numerieke ID’s die worden gebruikt om gebruikers en groepen in een Linux-systeem te onderscheiden. Het systeem gebruikt deze ID’s om het eigendom van bestanden en mappen te beheren en toegangsrechten te controleren.
- UID (Gebruikers-ID): Een uniek nummer toegewezen aan elk gebruikersaccount. Deze ID bepaalt de operaties die een gebruiker kan uitvoeren op het systeem. Bijvoorbeeld, de UID van de root-gebruiker is meestal 0, die alle rechten op het systeem heeft.
- GID (Groep-ID): Een uniek nummer toegewezen aan elke gebruikersgroep. Een groep op het systeem verwijst naar een verzameling gebruikers die specifieke rechten delen. Een gebruiker kan tot meerdere groepen behoren, en erft de rechten van die groepen.
In Linux worden UIDs en GIDs automatisch toegewezen op het moment van gebruikerscreatie, maar systeembeheerders kunnen deze waarden naar behoefte wijzigen. In het bestandssysteem worden bestanden en mappen beheerd op basis van de UID en GID van de eigenaar, en toegangsrechten worden op deze basis ingesteld.
Hoe UID en GID vanaf de Command Line te controleren
In een Linux-systeem kunt u eenvoudig de UID en GID van een gebruiker controleren met command-line tools. De meest gebruikelijke en directe methode is het gebruik van het id
commando. Dit commando toont de UID, GID, en de ID’s van groepen waartoe de huidige of gespecificeerde gebruiker behoort.
Basisgebruik van het `id` Commando
Het uitvoeren van het id
commando zonder argumenten toont de UID en GID van de gebruiker die de huidige shell-sessie bedient, evenals de ID’s van de groepen waartoe zij behoren.
id
Dit commando produceert een uitvoer zoals deze:
uid=1000(gebruikersnaam) gid=1000(groepsnaam) groups=1000(groepsnaam),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),108(lxd),998(docker)
Hier vertegenwoordigt uid
de gebruikers-ID, gid
vertegenwoordigt de ID van de hoofdgroep van de gebruiker, en groups
vermeldt de ID’s van aanvullende groepen waartoe de gebruiker behoort.
De UID en GID voor een Specifieke Gebruiker Controleren
Om de UID en GID voor een specifieke gebruiker te controleren, geeft u de gebruikersnaam als argument mee aan het id
commando.
id gebruikersnaam
Bijvoorbeeld, om de informatie voor een gebruiker genaamd alice
te controleren, zou u uitvoeren:
id alice
Deze methode is handig voor het snel verifiëren van de identificatie-informatie van elke gebruiker op het systeem. Het id
commando is een van de tools die vaak gebruikt worden door systeembeheerders, en bewijst zeer handig te zijn voor het instellen van gebruikersrechten en probleemoplossing.
UID en GID vinden in het /etc/passwd Bestand
In Linux-systemen bevat het /etc/passwd
bestand informatie over alle gebruikersaccounts op het systeem. U kunt ook de UID en GID van een gebruiker uit dit bestand controleren. Het /etc/passwd
bestand is tekstgebaseerd en geschreven in een formaat dat leesbaar is voor mensen, met elke regel die informatie over één gebruiker bevat.
Structuur van het `/etc/passwd` Bestand
Elke vermelding in het /etc/passwd
bestand wordt genoteerd in het volgende formaat:
gebruikersnaam:x:UID:GID:GECOS:thuismap:shell
Hier,
gebruikersnaam
duidt de gebruikersnaam aan.x
is het wachtwoordveld, dat nu beheerd wordt door het shadow wachtwoordsysteem in het/etc/shadow
bestand.UID
is de Gebruikers-ID van de gebruiker.GID
is de hoofd Groep-ID van de gebruiker.GECOS
is een veld dat de volledige naam van de gebruiker of andere informatie bevat.thuismap
is het pad naar de thuismap van de gebruiker.shell
geeft de shell aan die start bij het inloggen van de gebruiker.
Zoeken naar UID en GID met de Command Line
Om de UID en GID van een specifieke gebruiker uit het /etc/passwd
bestand te vinden, kan het grep
commando handig zijn. Bijvoorbeeld, om de UID en GID voor de gebruiker genaamd alice
te controleren, voer uit:
grep 'alice' /etc/passwd
Voorbeelduitvoer:
alice:x:1001:1001:Alice Voorbeeld:/home/alice:/bin/bash
In dit voorbeeld zijn zowel de UID als GID voor de gebruiker alice
1001. Ook is alice
’s thuismap /home/alice
, en de standaard shell is /bin/bash
.
Direct verwijzen naar het /etc/passwd
bestand is vooral nuttig voor het controleren van de informatie van alle gebruikers geregistreerd op het systeem of in situaties waar een grafische interface niet beschikbaar is. Echter, omdat wachtwoordinformatie wordt opgeslagen in het /etc/shadow
bestand om veiligheidsredenen, zijn administratieve privileges vereist voor directe toegang.
Praktische Voorbeelden: Hoe de UID en GID van een Specifieke Gebruiker te Controleren
Er zijn verschillende manieren om de UID (Gebruikers-ID) en GID (Groep-ID) van een specifieke gebruiker op een Linux-systeem te controleren, maar hier zullen we praktisch de twee meest voorkomende methoden uitleggen.
Methode 1: Gebruikmakend van het `id` Commando
De eenvoudigste en meest directe methode is het gebruik van het id
commando. Dit commando toont de specifieke UID, GID, en de ID’s van de groepen waartoe de gebruiker behoort.
Om de informatie voor een specifieke gebruiker te verkrijgen, voer het volgende in op de command line:
id gebruikersnaam
Bijvoorbeeld, als de gebruikersnaam alice
is, zou het er zo uitzien:
id alice
Dit commando geeft alice
’s UID, GID, en groepsaffiliatie-informatie.
Methode 2: Het `/etc/passwd` Bestand Onderzoeken
Alle informatie over gebruikersaccounts op het systeem wordt opgeslagen in het /etc/passwd
bestand. U kunt dit bestand ook direct onderzoeken voor UID en GID.
Om te zoeken naar de informatie van een specifieke gebruiker, gebruik het grep
commando:
grep 'gebruikersnaam' /etc/passwd
Bijvoorbeeld, als de gebruikersnaam alice
is, zou u invoeren:
grep 'alice' /etc/passwd
Dit toont de alice
vermelding uit het /etc/passwd
bestand, dat alice
’s UID en GID op die regel bevat.
Deze methoden maken het eenvoudig om de specifieke UID en GID van een gebruiker op een Linux-systeem te verifiëren. Voor systeembeheerders en beveiligingsprofessionals speelt deze informatie een cruciale rol bij het beheren van rechten en het auditen van het systeem.
Scripts Gebruiken om Meerdere Gebruikers’ UID en GID in Bulk te Controleren
Als u de UID en GID voor meerdere gebruikers efficiënt moet controleren, kan het schrijven van een klein shellscript dit proces automatiseren. Hier presenteren we een eenvoudig scriptvoorbeeld om in bulk meerdere gebruikers’ UID en GID op een Linux-systeem te verkrijgen.
Scriptvoorbeeld
Hieronder staat een shellscript dat de UID en GID voor een gespecificeerde lijst van gebruikers weergeeft. Dit script opsomt de gebruikersnamen gescheiden door spaties en voert het id
commando uit voor elke gebruiker.
#!/bin/bash
# Lijst van gebruikersnamen
gebruikersnamen="alice bob charlie"
# Toon UID en GID voor elke gebruiker
for gebruikersnaam in $gebruikersnamen; do
echo "Gebruiker: $gebruikersnaam";
id $gebruikersnaam
echo ""; # Print een lege regel
done
Om dit script te gebruiken, open eerst een teksteditor en plak de bovenstaande code, sla het bestand vervolgens op (bijv., toon_uid_gid.sh
). Ga vervolgens naar de directory waar het scriptbestand is opgeslagen in de terminal en geef het script uitvoeringsrechten.
chmod +x toon_uid_gid.sh
Voer daarna het script uit.
./toon_uid_gid.sh
Het uitvoeren van het script toont de UID en GID voor elke gespecificeerde gebruiker. Deze methode is vooral nuttig bij het uitvoeren van onderzoeken of audits op specifieke gebruikersgroepen binnen het systeem. Bovendien kunt u door het bewerken van de lijst van gebruikers in het script, deze operatie uitvoeren voor elke gewenste set gebruikers.
Samenvatting
Er zijn verschillende efficiënte manieren om de UID (Gebruikers-ID) en GID (Groep-ID) van een gebruiker in Linux te controleren, inclusief het direct verkrijgen van deze informatie vanaf de command line met het id
commando, het onderzoeken van het /etc/passwd
bestand, en het gebruik van scripts om informatie in bulk te verzamelen voor meerdere gebruikers. Elke methode is effectief afhankelijk van uw behoeften en situatie.
Door deze methoden te begrijpen en correct te gebruiken, kunt u de efficiëntie van gebruikersbeheer in Linux-systeembeheer en beveiligingsaudits aanzienlijk verbeteren. Vooral voor systeembeheerders en beveiligingsprofessionals is het beheersen van deze basisbewerkingen belangrijk omdat ze deel uitmaken van dagelijkse taken.
Uiteindelijk zijn het accuraat begrijpen van de concepten van gebruikers en groepen, en het correct beheren van basiselementen zoals UID en GID, essentieel voor veilig en efficiënt werken op Linux-systemen. Dit artikel hoopt te dienen als een waardevolle gids voor Linux-gebruikers en -beheerders.