18 votes

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

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

3 votes

dscl ? Peut-être ? Un point de départ pour chercher, je n'ai jamais essayé moi-même. Vous noterez que votre compte utilisateur est complètement absent de /etc/passwd. Vous pourriez avoir de la chance en regardant la documentation du serveur OSX.

0 votes

Je n'ai pas utilisé dscl sur un Mac non serveur, mais il est logique que vous puissiez le faire fonctionner. La documentation du serveur OSX donne un aperçu de ce que vous pouvez faire avec l'outil dscl.

20voto

realcals Points 597

Pour créer un compte dans le dossier Utilisateurs

dscl / -create /Users/addfromcli

Créer et définir la propriété shell à bash.

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

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

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

Créer et définir l'ID de l'utilisateur. (il s'agit de l'identifiant unique, vous devez trouver quel était le dernier identifiant créé par l'utilisateur et en ajouter un).

dscl / -create /Users/addfromcli UniqueID 503

Créer et définir la propriété ID du groupe de l'utilisateur. (Il peut s'agir de votre groupe par défaut)

dscl / -create /Users/addfromcli PrimaryGroupID 1000

Créer et définir le répertoire personnel de l'utilisateur.

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

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

dscl / -passwd /Users/addfromcli PASSWORD

Vous trouverez plus de détails sur OS X Daily

0 votes

Le fait d'envelopper ces lignes de commande dans `` améliorerait grandement la lisibilité.

0 votes

C'est ce que j'ai fait (uniquement avec / modifié en localonly ), mais le répertoire personnel du nouvel utilisateur n'apparaît pas...

0 votes

Ok, après avoir quitté le mode mono-utilisateur, j'ai pu voir le nouvel utilisateur dans le menu de connexion, et le nouveau répertoire personnel est apparu dans le système de fichiers. Mon commentaire ci-dessus ne concernait donc pas un problème réel.

8voto

La solution de @Infamy semble être pour 10.5.

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

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

C'est-à-dire qu'il faut remplacer / par localhost , prepend /Local/Default à /Users et invoquer la commande entière avec sudo .

0 votes

C'est ce que j'ai fait (uniquement avec / modifié en localonly ), mais le répertoire personnel du nouvel utilisateur n'apparaît pas...

0 votes

Ok, après avoir quitté le mode mono-utilisateur, j'ai pu voir le nouvel utilisateur dans le menu de connexion, et le nouveau répertoire personnel est apparu dans le système de fichiers. Mon commentaire ci-dessus ne concernait donc pas un problème réel.

0 votes

J'ai créé un utilisateur sudo dscl localhost -create /Local/Default/Users/envguard mais lorsque je veux changer le propriétaire d'un fichier en utilisant chown envguard:staff filename J'obtiens l'erreur suivante chown: envguard: illegal user name . Pourquoi MacOS est-il aussi merdique alors qu'Unix l'a bien fait pendant une centaine d'années....

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X