3 votes

Impossible de créer un compte d'utilisateur sur mac en utilisant la ligne de commande

J'ai suivi les instructions ici pour créer l'utilisateur jira :

sudo dscl . create /Users/jira 
sudo dscl . passwd /Users/jira
sudo dscl . create /Users/jira RealName "jira user"
sudo dscl . create /Users/jira UserShell /bin/bash
sudo dscl . append /Groups/admin GroupMembership jira

mais j'ai deux problèmes :

premier l'utilisateur apparaît comme n'étant pas un membre administrateur bien que je l'ai ajouté en tant qu'administrateur (et j'ai redémarré, voir ici )

deuxième Je ne peux pas faire en sorte que cet utilisateur soit propriétaire de son répertoire, c'est-à-dire que lorsque je lance

sudo chown jira /var/jira

J'obtiens

chown: jira: illegal user name

Je ne peux pas non plus me connecter en tant qu'utilisateur :

su jira
Password:
su: unknown login: jira

bien que l'utilisateur jira apparaisse dans la liste des utilisateurs :

dscl . list /Users | grep jira
jira

y

enter image description here enter image description here

6voto

Gordon Davisson Points 30215

Les instructions que vous suivez sont plutôt confuses et incomplètes. cette question ServerFault pour plus d'informations. Je pense que le problème principal est que vous n'avez pas défini tous les attributs nécessaires pour le nouvel utilisateur (bien que vous en ayez défini plus que ce que votre fragment de code suggère !) Il vous manque :

sudo dscl . create /Users/jira UniqueID 499   # Use some unique user ID number here; numbers below 500 for hidden accounts
sudo dscl . create /Users/jira PrimaryGroupID 20   # This is the "staff" group; add to admins separately
sudo dscl . create /Users/jira NFSHomeDirectory /var/jira   # /var is a good place to hide things; regular users go under /Users
sudo dseditgroup -o edit -t user -a jira admin   # This is the RIGHT way to add a secondary group membership

Les problèmes de votre configuration actuelle sont : l'appartenance à un groupe primaire de -2 (le groupe "nobody"), la confusion sur le fait que le répertoire personnel est /Users/jira ou /var/jira (assurez-vous que le NFSHomeDirectory pointe vers l'emplacement réel ! du répertoire ! ), et que vous ne définissez pas complètement l'appartenance au groupe admin (l'ajout du nom de compte de l'utilisateur à GroupMembership n'est qu'une partie ; vous devriez également ajouter leur GeneratedUID à GroupMembers, ou utiliser dseditgroup et le laisser s'occuper des détails).

EDIT : Kent a fait une bonne remarque sur le fait que /Users/jira est toujours le chemin d'accès au compte de l'utilisateur dans dscl et peut également le chemin d'accès au dossier personnel de l'utilisateur dans le système de fichiers (l'attribut NFSHomeDirectory). Ces deux attributs se ressemblent à s'y méprendre, mais n'ont pas nécessairement de rapport l'un avec l'autre. Dans les commandes ci-dessus, je montre que l'emplacement du dossier personnel est /var/jira au lieu de le cacher. Ainsi, pour compléter mon exemple, voici comment créer le dossier personnel :

cp -R /System/Library/User\ Template/English.lproj /var/jira
chown -R jira:staff /var/jira

Ces commandes créent le dossier personnel ; l'attribut NFSHomeDirectory indique à l'utilisateur où le trouver lorsqu'il se connecte. Il est important qu'ils correspondent.

Et si l'anglais n'est pas la langue principale de l'utilisateur, il est possible de choisir parmi plusieurs autres modèles d'utilisateurs.

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