15 + voorbeelden voor het weergeven van gebruikers in Linux

In dit bericht leert u over het weergeven van gebruikers in Linux. Daarnaast zul je nog andere trucs kennen over de kenmerken van Linux gebruikers.

Er zijn twee soorten gebruikers in Linux, systeemgebruikers die standaard met het systeem worden aangemaakt. Aan de andere kant, er zijn regelmatige gebruikers die zijn gemaakt door systeembeheerders en kunnen inloggen op het systeem en gebruiken.

inhoudsopgave

welk bestand bevat de lijst van gebruikers op Linux?,

voordat we beginnen met het weergeven van gebruikers, moeten we weten waar deze gebruikers zijn opgeslagen op Linux?

de gebruikers worden opgeslagen in een tekstbestand op het systeem, het passwd-bestand genaamd. Dit bestand bevindt zich in de map / etc.

het bestand bevindt zich op het volgende pad:

$ /etc/passwd

In dit bestand vindt u alle informatie over de gebruikers in het systeem.

Toon alle gebruikers

Toon gebruikers is de eerste stap om ze te beheren. Op deze manier zullen we weten met hoeveel ze zijn en wie ze zijn. In Linux kan bijna alles op verschillende manieren, en dit is geen uitzondering.,

om alle gebruikers te tonen, kunt u het cat commando gebruiken:

$ cat /etc/passwd

zoals u kunt zien in de afbeelding, is er alle informatie over de gebruikers.

1-In het eerste veld ziet u de gebruikersnaam.

2 – het tweede veld (het X-teken) is een weergave van het versleutelde wachtwoord. Het versleutelde wachtwoord wordt opgeslagen in /etc/shadow bestand.

3-de UID of de gebruikers-ID.

4-het volgende veld verwijst naar de primaire groep van de gebruiker.

5-dan toont het gebruikers-ID informatie zoals het adres, e-mail, enz.,

6-hierna ziet u de persoonlijke map van de gebruiker.

7-Het Laatste veld is de shell die door die gebruiker wordt gebruikt.

echter, hoewel de informatie vrij nuttig is, als u alleen de namen van gebruikers op een eenvoudige manier wilt weergeven, kunt u dit commando gebruiken:

$ cut -d: -f1 /etc/passwd

nu hebben we alleen de namen door alleen het eerste veld van het bestand af te drukken.

List & Sorteer gebruikers op naam

het bovenstaande commando dient om gebruikers op Linux te tonen. Maar hoe zit het met een lijst van de gebruikers in alfabetische volgorde?,

om dit te doen, zullen we het vorige commando gebruiken, maar we zullen het Sorteer commando toevoegen.

dus, het commando zal als volgt zijn:

$ cut -d: -f1 /etc/passwd | sort

zoals u kunt zien in de afbeelding, worden de gebruikers gesorteerd getoond.

Linux lijst gebruikers zonder wachtwoord

Het is belangrijk om gebruikers te kennen die geen wachtwoord hebben en om de juiste actie te ondernemen. Om gebruikers te tonen die geen wachtwoord hebben, gebruik je het volgende commando:

$ sudo getent shadow | grep -Po '^*(?=:.?:)'

de gebruikte regex zal alle gebruikers zonder wachtwoord tonen.,

Toon gebruikers op schijfgebruik

als u een grote map hebt en u wilt weten welke gebruiker deze overstroomt, kunt u het commando du gebruiken om het schijfgebruik te verkrijgen.

Hiermee kunt u detecteren welke van deze gebruikers de schijfruimte misbruikt.

hiervoor is het voldoende om het volgende commando te gebruiken:

$ sudo du -smc /home/* | sort -n

op deze manier worden de gebruikers geordend op het schijfgebruik voor de /home-map.

We gebruikten de-n voor het Sorteer commando om de uitvoer op getallen te sorteren.,

Toon de momenteel gelogde gebruikers

om de momenteel ingelogde gebruikers weer te geven, hebben we verschillende manieren om dit te doen. De eerste methode kunnen we het users commando gebruiken:

$ users

Het zal de gebruikers met open sessies in het systeem tonen.

maar deze informatie is een beetje basic; we hebben echter een ander commando dat meer details geeft. Het commando is gewoon w.,

$ w

met dit commando kunnen we meer informatie krijgen, zoals het exacte tijdstip waarop de sessie werd gestart en de terminal sessie die hij beschikbaar heeft.

tenslotte is er een commando genaamd who. Het is beschikbaar voor de hele Unix-familie. Dus je kunt het gebruiken op andere systemen zoals FreeBSD.

$ who

met het who Commando hebben we ook informatie over momenteel ingelogde gebruikers. Natuurlijk kunnen we de optie-a toevoegen en alle details tonen.,

$ who -a

op deze manier weet u alles over de ingelogde gebruikers.

Linux lijst van gebruikers die onlangs op het systeem zijn ingelogd

we zagen hoe de momenteel ingelogde gebruikers te krijgen, hoe zit het met het weergeven van de login geschiedenis van gebruikers?,

U kunt gebruik maken van de laatste opdracht om meer info te krijgen over de aanmeldingen, die plaats:

$ last

Of de inloggegevens van een bepaalde gebruiker

$ last 

bijvoorbeeld:

$ last angelo

Dit zijn de gebruikersnaam (login) activiteit en wanneer het begon en hoe lang het duurde.

de logins van gebruikers weergeven op een specifieke datum of tijd

hoe zit het met de logins van gebruikers weergeven op een specifieke datum of tijd?, Om dit te bereiken gebruiken we het laatste commando, maar met de parameter-t:

$ last -t YYMMDDHHMMSS

bijvoorbeeld:

$ last -t 20190926110509

en nu hoeft u alleen nog een exacte datum te kiezen & tijd om te tonen wie er op dat moment heeft ingelogd.

Toon alle gebruikers in een groep

er zijn twee manieren om de leden van een groep in Linux te tonen, de makkelijkste en meest directe manier is om de gebruikers uit het/etc/group bestand te halen zoals dit:

$ cat /etc/group | grep likegeeks

Dit commando zal gebruikers in de likegeeks groep weergeven.,

de andere manier is door het gebruik van commando ‘ s zoals het members commando in Debian gebaseerde distributies. Het is echter niet standaard geïnstalleerd in Linux distributies.,

om het te installeren in Ubuntu / Linux Mint 19, gebruik gewoon APT:

$ sudo apt install members

of in het geval van CentOS:

$ sudo dnf install members

zodra het is geïnstalleerd, kunt u het commando uitvoeren en vervolgens de naam van de groep waaraan u de gebruikers wilt tonen:

$ members 

bijvoorbeeld:

$ members avahi

op deze manier kunt u gebruikers voor een groep in een Debian-gebaseerde distributie weergeven. Hoe zit het met een op RedHat gebaseerde distributie zoals CentOS?,

u kunt het volgende commando gebruiken:

$ getent group likegeeks

Toon gebruikers met UID

In Unix-systemen heeft elke gebruiker een gebruikersidentificatie of-ID. Het dient voor het beheren en beheren van accounts intern in het besturingssysteem.

in het algemeen zijn UID ‘ s van 0 tot 1000 voor systeemgebruikers. En daarna voor regelmatige gebruikers. Altijd op Unix systemen behoort UID nul toe aan de root gebruikers (je kunt meer dan één gebruiker hebben met UID nul).

dus nu zullen we de gebruikers met hun respectievelijke UID weergeven met behulp van Awk.,

het commando dat de taak uitvoert is het volgende:

$ awk -F: '{printf "%s:%s\n",$1,$3}' /etc/passwd

zoals u kunt zien, heeft elke gebruiker zijn UID.

lijst root gebruikers

In een Unix-achtig systeem zoals Linux is er meestal maar één root gebruiker. Als er veel zijn, hoe ze op te sommen?

om dit te doen, kunnen we dit commando gebruiken:

$ grep 'x:0:' /etc/passwd

hier filteren we het bestand om gebruikers met UID van nul (root gebruikers) te krijgen.,

een andere manier door het controleren van het/etc / group bestand:

$ grep root /etc/group

hier krijgen we gebruikers in de groep root van het/etc / group bestand.

u kunt ook controleren of een gebruiker commando ‘ s als root kan uitvoeren door het bestand /etc/sudoers te controleren:

$ cat /etc/sudoers

haal het totale aantal gebruikers

om het totale aantal gebruikers in Linux te krijgen, kunt u regels in /etc/passwd-bestand tellen met behulp van het volgende commando:

$ cut -d: -f1 /etc/passwd | wc -l

geweldig! 43 gebruikers., Maar dit geldt ook voor het systeem en regelmatige gebruikers. Hoe zit het met het krijgen van het aantal reguliere gebruikers alleen?

Easy! Omdat we van bovenaf weten dat reguliere gebruikers UID van 1000 of hoger hebben, kunnen we Awk gebruiken om ze te krijgen:

$ awk -F: '$3 >= 1000 {print $1}' /etc/passwd

Cool!

list sudo-gebruikers

Linux-systemen hebben een hulpprogramma genaamd sudo waarmee u commando ‘ s kunt uitvoeren alsof u een andere gebruiker bent die gewoonlijk de root-gebruiker is.

Dit moet met zorg worden behandeld in een professionele omgeving.,

ook is het erg belangrijk om te weten welke gebruikers het sudo commando kunnen uitvoeren. Voor deze, het is genoeg om de gebruikers die behoren tot de sudo Groep lijst.

$ members sudo

gebruikers in deze groep kunnen opdrachten uitvoeren als supergebruikers.

lijst van gebruikers met SSH-toegang

SSH stelt gebruikers in staat om toegang te krijgen tot externe computers via een netwerk. Het is vrij veilig en werd geboren als een vervanging voor Telnet.

standaard kunnen alle reguliere gebruikers inloggen en SSH gebruiken., Als u dit wilt beperken, kunt u het SSH-configuratiebestand (/etc/ssh/ssh_config) gebruiken en de volgende richtlijn toevoegen:

AllowUsers user1 user2 user3

ook kunt u groepen toestaan in plaats van gebruikers alleen toe te staan met behulp van de AllowGroups-richtlijn:

AllowGroups group1 group2 group3

Deze richtlijnen bepalen wie toegang heeft tot de service. Vergeet niet om de SSH service opnieuw te starten.

Toon gebruikers die toegang hebben tot een bestand of map

we kunnen meer dan één gebruiker toestemming geven om bestanden te openen of te wijzigen & mappen op twee manieren.,

de eerste methode is door gebruikers toe te voegen aan de groep van het bestand of de map.

op deze manier kunnen we de groepsleden weergeven met behulp van het members utility zoals hierboven getoond.

oké, maar wat als we willen dat deze gebruiker alleen toegang heeft tot dit specifieke bestand (niet alle groepsrechten)?

Hier kunnen we de ACL voor dit bestand instellen met het volgende setfacl Commando:

$ setfacl -m u:newuser:rwx myfile

Hier geven we de gebruiker genaamd newser de rechten voor het bestand genaamd myfile de rechten van lezen & write & uitvoeren.,

nu kan het bestand worden geopend of gewijzigd door de eigenaar, en de gebruiker genaamd newuser. Dus hoe ze op te sommen?

We kunnen ze als volgt weergeven met het getfacl Commando:

$ getfacl myfile

Dit commando zal alle gebruikers tonen die rechten hebben voor het bestand met hun bijbehorende rechten.

lijst vergrendelde (Uitgeschakelde) gebruikers

In Linux kunnen we als veiligheidsmaatregel gebruikers vergrendelen. Dit als voorzorgsmaatregel als het vermoeden bestaat dat de gebruiker dingen verkeerd doet, en je niet wilt dat de gebruiker volledig te verwijderen en gewoon vergrendelen hem voor onderzoek.,

om een gebruiker te vergrendelen, kunt u het volgende commando gebruiken:

$ usermod -L myuser

nu kan de gebruiker met de naam myuser niet meer inloggen of het systeem gebruiken.

om alle vergrendelde gebruikers van het systeem te tonen, gebruik je het volgende commando:

$ cat /etc/passwd | cut -d : -f 1 | awk '{ system("passwd -S " $0) }' | grep locked

Dit zal alle vergrendelde gebruikers afdrukken, inclusief systeemgebruikers. Hoe zit het met het vermelden van gewone gebruikers alleen?

zoals we hierboven zagen, kunnen we met behulp van Awk reguliere gebruikers als volgt vergrendeld krijgen:

$ awk -F: '$3 >= 1000 {print $1}' /etc/passwd | cut -d : -f 1 | awk '{ system("passwd -S " $0) }' | grep locked

zeer eenvoudig!,

Listing remote users (LDAP)

OK, kan nu een lijst maken van alle systeemgebruikers (lokale gebruikers), maar hoe zit het met remote users of LDAP-gebruikers? We kunnen een tool als ldapsearch gebruiken, maar is er een andere manier?

gelukkig wel! U kunt een lijst maken van lokale & externe gebruikers met één commando genaamd getent

$ getent passwd

Dit commando toont zowel lokale systeemgebruikers als LDAP-of NIS-gebruikers of andere netwerkgebruikers.

u kunt de resultaten van dit commando op dezelfde manier doorsluizen naar een van de bovengenoemde commando ‘ s.,

ook kan het getent Commando groepsaccounts als volgt weergeven:

$ getent group

u kunt de manpage van het commando controleren om te weten in welke andere databases het commando kan zoeken.

conclusie

het weergeven van gebruikers in het Linux systeem was leuk! Daarnaast hebben we enkele tips geleerd over gebruikers en hoe ze op verschillende manieren te beheren.

ten slotte zal deze kennis een beter beheer van de gebruikers van het systeem mogelijk maken.

Ik hoop dat u de tutorial nuttig vindt. Blijf terugkomen.,

oprichter van LikeGeeks. Ik werk sinds 2010 als Linux systeembeheerder. Ik ben verantwoordelijk voor het onderhouden, beveiligen en oplossen van problemen met Linux-servers voor meerdere clients over de hele wereld. Ik hou van het schrijven van shell en Python scripts om mijn werk te automatiseren.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *