no se puede crear una cuenta de usuario en mac usando la línea de comando

Seguí las instrucciones aquí para crear el usuario 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

pero tengo dos problemas:

primero , el usuario aparece como miembro que no es administrador, aunque lo he agregado como administrador (y he reiniciado, consulte aquí )

segundo, no puedo hacer que este usuario sea dueño de su directorio, es decir, cuando ejecuto

sudo chown jira /var/jira

yo obtengo

chown: jira: illegal user name

Tampoco puedo iniciar sesión como ese usuario:

su jira
Password:
su: unknown login: jira

aunque el usuario de jira aparece en la lista de usuarios:

dscl . list /Users | grep jira
jira

y

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

Respuestas (1)

Las instrucciones que estás siguiendo son bastante confusas e incompletas; consulte esta pregunta de ServerFault para obtener mejor información. Creo que el principal problema es que no ha configurado todos los atributos necesarios para el nuevo usuario (¡aunque ha configurado más de lo que sugiere su fragmento de código!). Estás perdido:

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

Los problemas con su configuración actual son: la pertenencia al grupo principal de -2 (el grupo "nadie"), la confusión acerca de si el directorio de inicio es /Users/jira o /var/jira (asegúrese de que NFSHomeDirectory apunte a la ubicación real ! del directorio!), y que no está configurando completamente la membresía en el grupo de administración (agregar el nombre de la cuenta del usuario a GroupMembership es solo una parte; también debe agregar su GeneratedUID a GroupMembers, o usar dseditgroup y dejarlo manejar los detalles).

EDITAR: Kent señaló que /Users/jira siempre es la ruta a la cuenta de los usuarios en dscl, y también podría ser la ruta a la carpeta de inicio del usuario en el sistema de archivos (el atributo NFSHomeDirectory). Son confusamente similares, pero no necesariamente tienen nada que ver entre sí. En los comandos anteriores, muestro la configuración de la ubicación de la carpeta de inicio en /var/jira en lugar de ocultarla. Entonces, para completar mi ejemplo, así es como crearía la carpeta de inicio:

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

Estos comandos crean la carpeta de inicio; el atributo NFSHomeDirectory le dice al usuario dónde encontrarlo cuando inicia sesión. Es importante que coincidan.

Ah, y si el inglés no es el idioma principal del usuario, hay muchas otras plantillas de usuario para elegir.

Un comentario: /Users/jira es la ruta para la información del usuario en DSCL, y no tiene una relevancia real con respecto a dónde se encuentra el directorio de inicio. Los comandos en su respuesta son correctos; pero el comentario sobre NFSHomeDirectory es un poco confuso.