Lijst Gebruikersaccounts op Mac vanaf Command Line

Mac-beheerders bevinden zich mogelijk in een situatie waarin ze via de opdrachtregel een lijst met alle gebruikersaccounts op een bepaalde Mac moeten weergeven. We zullen enkele methoden bespreken voor gevorderde personen om alle accounts, zowel de gebruiker als het systeem, op elke Mac te vermelden met elke versie van Mac OS X-systeemsoftware.

Een paar voorlopige basisbenaderingen hiervoor zijn het openen van het inlogscherm of het weergeven van de inhoud van de map / Users, maar als een gebruikersaccount is verborgen, wordt dit niet weergegeven in het inlogscherm en is het even eenvoudig om een ​​gebruiker te verbergen voor de map / Gebruikers. Bovendien is het bestaan ​​van een naam in de map / Users / niet onfeilbaar, omdat u een gebruikersaccount kunt verwijderen, maar de thuismap van gebruikers kunt behouden. Als gevolg hiervan, hoewel die benaderingen geschikt kunnen zijn voor de informele Mac-gebruiker die wil laten zien wat gebruikers op een computer hebben, zijn geen van deze methoden bijzonder geschikt voor de meeste admin-behoeften. Maar door naar de opdrachtregel te gaan, kunt u alle gebruikersaccounts op een Mac onthullen, ongeacht of dit algemene gebruikersaccounts van actieve gebruikers, beheerdersaccounts en een systeemaccount zijn.

Alle gebruikersaccounts weergeven op een Mac vanaf de opdrachtregel

Open de terminal als u dat nog niet hebt gedaan, op de lokale computer waarvoor u gebruikersaccounts wilt weergeven of door verbinding te maken met een externe Mac waarop u de gebruikersaccounts wilt zien. We gebruiken dan de opdracht 'dscl', die in alle versies van Mac OS X-systeemsoftware werkt.

Bekijk alle gebruikers en accounts op een Mac

dscl . list /Users

Het voordeel (of probleem) van deze aanpak is dat het niet alleen alle gebruikersaccounts op een Mac vermeldt, maar ook alle daemon- en serverprocesaccounts. Dit omvat gebruikersnamen zoals Paul, Bob, Jill, maar ook daemons, systeemaccounts en procesgebruikers zoals networkd, windowserver, daemon, nobody, root, _spotlight, _ard, _appserver, _iconservices en nog veel meer.

Als de volledige lijst met gebruikers dus ongewenst is, kunt u eenvoudig alle _underscore daemon- en procesaccounts uitsluiten door de uitvoer via grep uit te voeren, zoals we hierna zullen laten zien.

Alleen gebruikersaccounts tonen

dscl . list /Users | grep -v '_'

Deze opdracht filtert elk van de _ onderstreepte prefronted daemon-gebruikers, die eigenlijk geen gebruikersaccounts zijn. U krijgt een veel kortere lijst met gebruikersnamen die als resultaat zijn geretourneerd, maar u zult nog altijd drie gebruikersnamen vinden die geen typische gebruikersaccounts zijn, maar die normaal zijn te vinden in Mac OS X-installaties; daemon, niemand en root.

Show All User Accounts, User Directories, en User GECOS Info op een Mac

Een andere benadering zou zijn om een ​​gedetailleerde accountlijst van gebruikersaccounts, de bijbehorende gebruikersaccountdirectory en de GECOS-info van de gebruikersaccount weer te geven (meestal een beschrijving van het account of een volledige gebruikersnaam). Als je je afvraagt ​​wat er op aarde in sommige van de accounts van het systeemaccounts en verwerkings-ID's in de bovengenoemde lijsten staat, biedt deze aanpak meer details, inclusief de gecos-beschrijving voor elk account (de gebruiker _qtss is bijvoorbeeld de QuickTime Streaming Server-daemon)

dscacheutil -q user

De uitvoer van die opdracht zal nogal uitgebreid zijn, dus u wilt het resultaat misschien min of meer doorspuiten of doorverwijzen naar een tekstbestand om het parseren eenvoudiger te maken.

Er zijn waarschijnlijk andere manieren om alle gebruikersaccounts op een Mac te tonen, ongeacht de systeemversie, als je een effectieve informatieve methode kent die hier niet wordt behandeld, deel deze dan in de opmerkingen.