Les comptes d'utilisateurs peuvent-ils être gérés via la ligne de commande?

12

Existe-t-il un moyen d'ajouter, de supprimer ou de modifier des comptes d'utilisateurs via la ligne de commande? Je ne parle pas d'un compte pour un processus système ou un démon, je veux dire, y a-t-il un moyen d'ajouter un compte d'utilisateur, de changer, les vrais noms d'utilisateur, les icônes, la protection FileVault, le statut d'utilisateur Admin / normal / limité, et essentiellement de tout faire sinon cela peut être fait dans le volet de préférences Utilisateurs Préférences Système, mais via un utilitaire de ligne de commande?

Josh
la source
3
dscl? Peut être? Un point de départ pour la recherche, je ne l'ai jamais essayé moi-même. Vous remarquerez que votre compte utilisateur est complètement absent de / etc / passwd. Vous pourriez avoir de la chance en regardant les documents du serveur OSX.
Jason Salaz
Je n'ai pas utilisé dscl sur un Mac non serveur, mais il va de soi que vous pourriez le faire fonctionner. Les documents OSX Server donnent un aperçu de ce que vous pouvez faire avec l'outil dscl.
David Rouse

Réponses:

13

Pour créer un compte dans le dossier Utilisateurs

dscl / -create /Users/addfromcli

Créez et définissez la propriété shell sur bash.

dscl / -create /Users/addfromcli UserShell /bin/bash

Créez et définissez le nom complet de l'utilisateur. (Affiché dans certains panneaux / écran de connexion)

dscl / -create /Users/addfromcli RealName "Added From Cli"

Créez et définissez l'ID de l'utilisateur. (il s'agit de l'identifiant unique, vous devez trouver l'identifiant créé par votre dernier utilisateur et en ajouter un)

dscl / -create /Users/addfromcli UniqueID 503

Créez et définissez la propriété d'ID de groupe de l'utilisateur. (Cela peut être votre groupe par défaut)

dscl / -create /Users/addfromcli PrimaryGroupID 1000

Créez et définissez le répertoire de base de l'utilisateur.

dscl / -create /Users/addfromcli NFSHomeDirectory /Local/Users/addfromcli

Définissez le mot de passe. (ne pas utiliser de mot de passe comme mot de passe)

dscl / -passwd /Users/addfromcli PASSWORD

Plus de détails peuvent être trouvés sur OS X Daily

Infamie
la source
Envelopper ces lignes de commande dans `` améliorerait considérablement la lisibilité.
Jason Salaz
Je l'ai fait (uniquement avec /changé en localonly), mais le répertoire personnel du nouvel utilisateur n'est pas apparu ...
imz - Ivan Zakharyaschev
Ok, après avoir quitté le mode mono-utilisateur, j'ai pu voir le nouvel utilisateur dans le menu de connexion, puis le nouveau répertoire personnel est apparu dans le système de fichiers. Donc, mon commentaire ci-dessus ne concernait aucun problème réel.
imz - Ivan Zakharyaschev
6

La solution de @Infamy semble être pour 10,5.

Sous OS X 10.6, chaque ligne doit être modifiée pour ressembler à ceci:

sudo dscl localhost -create /Local/Default/Users/addusername

C'est-à-dire, remplacer /par localhost, ajouter /Local/Defaultau début /Userset appeler la commande entière avec sudo.

bmike
la source
Je l'ai fait (uniquement avec /changé en localonly), mais le répertoire personnel du nouvel utilisateur n'est pas apparu ...
imz - Ivan Zakharyaschev
Ok, après avoir quitté le mode mono-utilisateur, j'ai pu voir le nouvel utilisateur dans le menu de connexion, puis le nouveau répertoire personnel est apparu dans le système de fichiers. Donc, mon commentaire ci-dessus ne concernait aucun problème réel.
imz - Ivan Zakharyaschev