¿Se pueden administrar las cuentas de usuario a través de la línea de comando?

12

¿Hay alguna forma de agregar, eliminar o modificar cuentas de usuario a través de la línea de comando? No estoy hablando de una cuenta para un proceso del sistema o demonio, quiero decir, ¿hay alguna forma de agregar una cuenta de usuario, cambiar, nombres reales de usuario, iconos, protección FileVault, estado de usuario Admin / normal / limitado, y básicamente hacer todo ¿Qué más se puede hacer en el panel de preferencias Usuarios del sistema de preferencias, pero a través de alguna utilidad de línea de comandos?

Josh
fuente
3
dscl? ¿Tal vez? Un punto de partida para mirar, nunca lo he probado yo mismo. Notarás que tu cuenta de usuario está completamente ausente en / etc / passwd. Es posible que tenga suerte mirando los documentos del servidor OSX.
Jason Salaz
No he usado dscl en una Mac sin servidor, pero es lógico que puedas hacer que funcione. Los documentos del servidor OSX ofrecen una visión general de lo que puede hacer con la herramienta dscl.
David Rouse

Respuestas:

13

Para crear una cuenta en la carpeta Usuarios

dscl / -create /Users/addfromcli

Cree y establezca la propiedad de shell en bash.

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

Crea y establece el nombre completo del usuario. (Se muestra en algunos de los paneles / pantalla de inicio de sesión)

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

Crear y establecer la identificación del usuario. (esta es la identificación única, debe averiguar qué identificación creó su último usuario y agregar una)

dscl / -create /Users/addfromcli UniqueID 503

Cree y establezca la propiedad de ID de grupo del usuario. (Este puede ser tu grupo predeterminado)

dscl / -create /Users/addfromcli PrimaryGroupID 1000

Crear y establecer el directorio de inicio del usuario.

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

Establece la contraseña. (no use la contraseña como contraseña)

dscl / -passwd /Users/addfromcli PASSWORD

Se pueden encontrar más detalles en OS X Daily

Infamia
fuente
Ajustar esas líneas de comando en `` mejoraría enormemente la legibilidad.
Jason Salaz
Hice esto (solo con /cambiado a localonly), pero el directorio de inicio del nuevo usuario no apareció ...
imz - Ivan Zakharyaschev
Ok, después de salir del modo de usuario único, pude ver al nuevo usuario en el menú de inicio de sesión, y luego apareció el nuevo directorio de inicio en el sistema de archivos. Así que mi comentario anterior no fue sobre ningún problema real.
imz - Ivan Zakharyaschev
6

La solución de @Infamy parece ser para 10.5.

En OS X 10.6, cada línea debe cambiarse para que tenga el siguiente aspecto:

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

Es decir, sustituir /por localhost, anteponga /Local/Defaulta /Userse invocar el comando completo con sudo.

bmike
fuente
Hice esto (solo con /cambiado a localonly), pero el directorio de inicio del nuevo usuario no apareció ...
imz - Ivan Zakharyaschev
Ok, después de salir del modo de usuario único, pude ver al nuevo usuario en el menú de inicio de sesión, y luego apareció el nuevo directorio de inicio en el sistema de archivos. Así que mi comentario anterior no fue sobre ningún problema real.
imz - Ivan Zakharyaschev