Hoe gebruikers in Linux te vermelden

Linux-laptop met een bash-prompt
fatmawati achmad zaenuri/Shutterstock.com

Linux is een besturingssysteem voor meerdere gebruikers, dus het maken van meerdere gebruikersaccounts is eenvoudig. Na verloop van tijd is het gemakkelijk om uit het oog te verliezen welke accounts vereist zijn. Door gebruikersaccounts te vermelden, kunt u ze beheren.

Gebruikersaccounts

Vooruitgang in technologie brengt vaak hun eigen nieuwe problemen met zich mee. Zodra computers meerdere gebruikers konden ondersteunen, werd de noodzaak duidelijk om het werk van elke persoon af te schermen en in te kapselen van alle anderen. Dit leidde tot het concept van gebruikersaccounts. Elke gebruiker heeft een benoemde ID en een wachtwoord. Dit zijn de inloggegevens waarmee ze kunnen inloggen op hun account. Hun bestanden worden bewaard in een gebied dat privé is voor elke gebruiker.

Op een druk systeem verlies je gemakkelijk uit het oog welke accounts je hebt aangemaakt en welke niet meer nodig zijn. Vanuit veiligheidsoogpunt is het een slechte gewoonte om gebruikersaccounts te behouden die u niet langer hoeft te configureren en toegankelijk te maken op uw computer. U moet die gebruikers verwijderen.

Zelfs als je geen andere mensen hebt die je computer gebruiken, heb je misschien een aantal accounts aangemaakt om te leren hoe je het moet doen, of om administratieve processen te leren en te oefenen.

Hoe een gebruiker op Linux te verwijderen (en elk spoor te verwijderen)

VERWANTHoe een gebruiker op Linux te verwijderen (en elk spoor te verwijderen)

De eerste stap is het weergeven van de gebruikersaccounts die op uw computer zijn geconfigureerd. Hiermee kunt u ze bekijken en een oordeel vellen over die kan worden verwijderd. Er zijn verschillende methoden om gebruikers te vermelden. Welke distributie u ook gebruikt, deze technieken zouden voor u moeten werken zonder dat u toepassingen of hulpprogramma’s hoeft te installeren.

Lijst gebruikers met het kat-commando

Een lijst van de geconfigureerde gebruikers wordt bijgehouden, samen met informatie over elke gebruiker, in het bestand “/etc/passwd”. Dit is een tekstbestand dat gewone gebruikers in het terminalvenster kunnen plaatsen. U hoeft niet te gebruiken sudo om in het bestand “/etc/passwd” te kijken.

Gebruikersgegevens wijzigen met chfn en usermod op Linux

VERWANTGebruikersgegevens wijzigen met chfn en usermod op Linux

We kunnen de cat commando om de inhoud van het bestand “/etc/passwd” naar het terminalvenster te sturen. Hiermee wordt de volledige inhoud van het bestand weergegeven. Dit betekent dat u ook de vermeldingen ziet voor gebruikersaccounts die eigendom zijn van processen en het systeem, niet van mensen.

cat /etc/passwd

De inhoud van het /etc/passwd-bestand naar het terminalvenster sturen met cat

Er is een regel met dichte informatie gerapporteerd voor elk gebruikersaccount.

De inhoud van het /etc/passwd-bestand

De informatie voor het gebruikersaccount genaamd “dave” bevat deze stukjes informatie, met dubbele punten “:” tussen hen.

  • dave: De naam van het gebruikersaccount. Meestal de naam van de persoon die eigenaar is van het account.
  • x: Dit was ooit het wachtwoord voor het account. Tegenwoordig worden wachtwoorden opgeslagen in het bestand “/etc/shadow”. De “x” betekent dat het wachtwoord in dat bestand staat.
  • 1000: De gebruikers-ID voor dit account. Alle gebruikersaccounts hebben een unieke numerieke ID. Normale gebruikersaccounts beginnen meestal bij 1000, waarbij elk nieuw account de volgende gratis ID krijgt, zoals 1001, 1002, enzovoort.
  • 1000: De groeps-ID van de standaardgroep waartoe de gebruiker behoort. In normale omstandigheden heeft de standaardgroep dezelfde waarde als de gebruikers-ID.
  • dave,,,: Een verzameling optionele extra informatie over de gebruiker. Dit veld bevat gegevens met komma’s “,” tussen hen. Ze kunnen dingen bevatten zoals de volledige naam van de gebruiker, hun kantoornummer en hun telefoonnummer. De invoer voor gebruikersaccount “mary” laat zien dat haar volledige naam Mary Quinn is.
  • /home/dave: Het pad naar de thuismap van de gebruiker.
  • /bin/bash: De standaard shell voor deze gebruiker.

Als we de uitvoer van dit commando via de wc hulpprogramma en gebruik de -l (lijnen) optie kunnen we de regels in het bestand tellen. Dat geeft ons het aantal accounts dat op deze computer is geconfigureerd.

cat /etc/passwd | wc -l

Het aantal accounts in het /etc/passwd-bestand tellen

Dat cijfer omvat de systeemaccounts en gebruikers die door applicaties zijn gemaakt. Er zijn ongeveer 400 vaste gebruikers geconfigureerd op deze computer. Uw resultaat zal waarschijnlijk een stuk minder zijn.

Met zoveel accounts is het handiger in gebruik less om het bestand “/etc/passwd” te bekijken.

less /etc/passwd

Het bestand /etc/passwd in minder openen

Gebruik makend van less stelt u ook in staat om binnen de uitvoer te zoeken, mocht u naar een bepaald gebruikersaccount willen zoeken.

Zoeken naar de mary-account in het /etc/passwd-bestand, in minder

Het awk-commando

De … gebruiken awk commando kunnen we alleen de gebruikersnaam weergeven. Dit kan handig zijn wanneer u een script schrijft dat iets met veel gebruikersaccounts moet doen. Het opsommen van de namen van de gebruikersaccounts en het omleiden ervan naar een tekstbestand kan veel tijd besparen. Het enige dat u hoeft te doen, is de rest van de opdracht op elke regel kopiëren en plakken.

Hoe de awk-opdracht op Linux te gebruiken?

VERWANTHoe de awk-opdracht op Linux te gebruiken?

We vertellen awk om de dubbele punt “:” als veldscheidingsteken te gebruiken en om het eerste veld af te drukken. We gebruiken de -F (veldscheidingsteken) optie.

awk -F: '{print $1}' /etc/passwd

Een awk-opdracht om alleen de gebruikersnamen te selecteren uit de /etc/passwd

De namen van de gebruikersaccounts worden naar het terminalvenster geschreven zonder enige andere accountinformatie.

De namen van de gebruikersaccounts die worden weergegeven in het terminalvenster

Het knippen Commando

We kunnen hetzelfde bereiken met de cut opdracht. We moeten de gebruiken -d (scheidingsteken) optie en vraag het om alleen het eerste veld te selecteren, met behulp van de -f (velden) optie.

cutr -d: -f1

Het cut-commando gebruiken om alleen de gebruikersnamen uit het /etc/passwd-bestand weer te geven

Dit geeft een overzicht van alle gebruikersaccounts, inclusief het systeem en andere niet-menselijke accounts.

Het compgen-commando

De compgen commando kan worden gebruikt met de -u (gebruiker) optie om de gebruikersaccounts weer te geven. We sturen de uitvoer door de column commando om de gebruikersaccounts in kolommen weer te geven, in plaats van één lange lijst met één gebruikersnaam per regel.

compgen -u | column

De commando's compgen en column gebruiken om de gebruikersaccountnamen uit het /etc/passwd-bestand in kolommen weer te geven

Nogmaals, de eerste vermelde gebruikersaccounts behoren tot processen, niet tot mensen.

UID MIN en UID MAX

Gebruikersaccounts krijgen een numerieke ID, die we eerder zagen. Gewoonlijk beginnen de gewone menselijke gebruikersaccounts bij 1000, en de systeem-, niet-menselijke gebruikersaccounts beginnen bij 0. De ID van het root-account is 0.

Als we de laagst en hoogst mogelijke gebruikers-ID’s kunnen verifiëren, kunnen we die informatie gebruiken om de gebruikersaccounts te selecteren die tussen die twee waarden liggen. Dat laat ons alleen de gebruikersaccounts selecteren die toebehoren aan echte mensen.

Linux houdt deze twee waarden bij met behulp van configuratieparameters genaamd UID_MIN en UID_MAX . Deze worden bewaard in het bestand “/etc/login.defs”. We kunnen deze waarden gemakkelijk zien met grep.

We gaan de gebruiken -E (uitgebreide regex) optie. Onze zoekreeks zoekt naar regels die beginnen met “UID_MIN” of “UID_MAX” in het bestand “/etc/login.defs”. het karretje “^” staat voor het begin van een regel.

grep -E '^UID_MIN|^UID_MAX' /etc/login.defs

Het bereik voor gebruikers-ID’s op deze computer loopt van 1000 tot 60.000.

Het getent Commando

De getent commando leest informatie uit systeemdatabases. We kunnen het vertellen om de items in het “/etc/passwd”-bestand op te sommen door “passwd” als parameter te gebruiken.

getent passwd

Getent gebruiken om het /etc/passwd-bestand naar het terminalvenster te dumpen

Dit geeft ons dezelfde uitlezing die we kunnen gebruiken cat. Maar waar getent schijnt is door waarden te accepteren die bekend staan ​​​​als ‘sleutels’. Een sleutel bepaalt welke informatie getent rapporteert over. Als we het item voor een enkele gebruiker willen zien, kunnen we hun gebruikersnaam doorgeven op de opdrachtregel.

getent passwd Sarah

Houd er rekening mee dat de naam van de gebruikersaccount hoofdlettergevoelig is.

getent passwd sarah

Op zoek naar een enkele gebruikersaccount bij getent

We kunnen ook de boven- en ondergrenzen doorgeven van de gebruikersaccount-ID’s die we willen zien. Om absoluut alle reguliere gebruikersaccounts te zien, kunnen we de waarden gebruiken van UID_MIN en UID_MAX.

getent passwd {1000..60000}

Bovenste en onderste account-ID's gebruiken met getent

Dit duurt enige tijd om te draaien. Uiteindelijk keert u terug naar de opdrachtprompt.

De inhoud van het /etc/passwd-bestand dat door getent . naar het terminalvenster is verzonden

De reden voor de lange uitvoeringstijd is dat: getent probeert overeenkomsten te vinden voor alle gebruikersaccountwaarden tot 60000.

Laten we eens kijken wat de hoogste gebruikersaccount-ID is. We gebruiken de cut commando, maar deze keer vragen we om veld drie, het veld gebruikers-ID. We sturen de uitvoer door sort en gebruik de -g (algemene numerieke sortering) optie.

cut -d: -f3 /etc/passwd | sort -g

Het commando om de uitvoer van cut naar het sort commando te sturen

De hoogste ID-waarde van een gebruikersaccount dat eigendom is van mensen is 1401.

Een gesorteerde lijst met gebruikersaccount-ID's

Gebruikers-ID 65534 is toegewezen aan het systeemconcept “niemand”.

getent passwd {65534..65534}

De systeemgebruiker niemand, met ID 65534

Dus we weten dat in plaats van de UID_MAX waarde van 60000, op deze computer kunnen we een meer realistische waarde gebruiken, zoals 1500. Dat zal de zaken aardig versnellen. We zullen ook de uitvoer doorsluizen cut om alleen de namen van de gebruikersaccounts te extraheren.

getent passwd {1000..1500} | knippen -d: -f1

De uitvoer van getent doorgesluisd naar de lijst met gebruikersaccountnamen

De gebruikers worden vermeld en we keren onmiddellijk terug naar de opdrachtprompt.

In plaats van de uitvoer er doorheen te leiden cutlaten we de uitvoer doorleiden wc en tel de regels nog een keer. Dat geeft ons het aantal “echte” gebruikersaccounts.

getent passwd {1000..1500} | wc -l

Het tellen van de gewone gebruikersaccounts met getent en wc

We kunnen nu zien dat er op deze computer definitief 400 geconfigureerde gebruikersaccounts zijn die eigendom zijn van mensen.

Kracht en eenvoud

Een van deze technieken zal zeker aan uw behoeften voldoen wanneer u de gebruikersaccounts op een Linux-computer moet bekijken. Deze commando’s zouden aanwezig moeten zijn op alle distributies, en geen van hen vereist: sudo toegang, zodat ze allemaal beschikbaar zijn voor elke gebruiker.

Nieuwste artikelen

spot_img

Related Stories

Leave A Reply

Vul alstublieft uw commentaar in!
Vul hier uw naam in