adduser en Mac OS X
En ocasiones tenemos la necesidad de dar de alta un usuario por medio de la lÍnea de comandos, en la mayoria de unices lo hacemos con la ayuda del comando adduser, sin embargo en Mac OS X no existe este :S, esto tiene una razón: Mac OS X usa un sistema de directorios llamado Open Directory en el que se guarda y extrae información de administración del sistema y el mantenimiento de los usuarios se hace por herramientas diferentes entre las que se encuentran la opción de cuentas en las preferencias del sistema y el gestor de NetInfo ambas herramientas gráficas, por otro lado tenemos niutil y dscl los cuales son poderosas herramientas de línea de comando que nos permiten manejar la información contenida en el Open Directory.
A continuación les mostraré como dar de alta un usuario usando el comando dscl (para llevar a cabo esta tarea necesitamos ejecutar los siguientes comandos como root o en su defecto con la utilería sudo).
Lo primero que haremos es crear un grupo con el comando dseditgroup, este paso es opcional si es que se fuera asignar al usuario un grupo existente.
sudo dseditgroup -o create -i 500 nuevogpo
A continuación creamos el usuario y le adicionamos los atributos que le indicarán al sistema el nombre real, su HOME, el shell que usará, el grupo principal al que pertenecerá, el ID del usuario y su password.
Creamos el usuario
sudo dscl / -create /Users/nuevousr
sudo dscl / -append /Users/nuevousr RealName "Nuevo Usuario"
sudo dscl / -append /Users/nuevousr NFSHomeDirectory /home/nuevousr
sudo dscl / -append /Users/nuevousr UserShell /bin/zsh
sudo dscl / -append /Users/nuevousr PrimaryGroupID 500
sudo dscl / -append /Users/nuevousr UniqueID 500
sudo dscl / -passwd /Users/nuevousr PASSWORD
Y por último adicionamos el usuario al grupo al que pertenecerá, en este ejemplo usaremos el grupo que creamos en el primer paso.
sudo dseditgroup -o edit -a nuevogpo -t user nuevousr
Listo… hemos creado un usuario nuevo con la ayuda de dscl.
Hints
- Si necesitamos dar de alta un usuario que no tenga HOME le asignamos al atributo NFSHomeDirectory el valor /var/empty
- Si queremos es que no use ningún shell como en el caso de usuarios para bases de datos, etc. le asignamos al atributo UserShell el valor de /usr/bin/false
3 Comments so far
Leave a reply


Suscribete por correo
Hola: He utilizado estos comandos para agregar un usuario nuevo, lo cierto es que ahora quiero eliminarlo del mismo modo (es decir por comandos) pero no se como hacerlo, ya que por la vista normal (preferencias del sistema->Cuentas) no logro visualizar el usuario creados con los comandos anteriores. Gracias
La manera más fácil de hacerlo es:
sudo dscl / -delete /Users/nuevousrEl comando dscl tiene muchas opciones las cuáles puedes ver tecleando:
man dsclHola,
He probado los comandos que comentas en Leopard y obtengo “Data source (/) is not valid.” Si quito la barra obtengo “Cannot open remote host, error: DSOpenDirServiceErr”.
La idea era crear un usuario y añadirlo al grupo admin pero no lo consigo.
Gracias