
Me gustaría crear usuarios desde la línea de comandos (o usando un script de shell) en macOS High Sierra y Mojave. Las cuentas de usuario deben ser copias de una plantilla de usuario. Para crear la plantilla, hice cambios en la carpeta /Sistema/Biblioteca/Plantilla de Usuario/
La plantilla funciona si creo los usuarios manualmente. Sin embargo, si uso un script de shell ya existente para crear el usuario, se ignoran las preferencias de la plantilla.
Aquí está el código que se utiliza para crear las cuentas de usuario.
#!/bin/bash
if [ $# -ne 3 ]; then
echo "Only 3 Arguments allowed"
else
account=$1
password=$2
uid=$3
username=$account
realname=$account
usershell=/bin/bash
uniqueid=$uid
primarygroupid=20
passwd=$password
pic="/Library/User Pictures/Fun/Chalk.tif"
upath="/Users/${username}"
echo "Create User ${upath}? (Y) to go on ..."
read yes
if [ "$yes" == Y ]; then
dscl . create $upath
dscl . create $upath UserShell $usershell
dscl . create $upath RealName "${realname}"
dscl . create $upath UniqueID $uniqueid
dscl . create $upath PrimaryGroupID $primarygroupid
dscl . create $upath NFSHomeDirectory $upath
dscl . passwd $upath $passwd
dscl . create $upath picture "${pic}"
else
echo "Nothing created"
fi
fi
¿Hay algo que pueda hacer? ¿Quizás una alternativa a dscl para crear cuentas de usuario? El conocido comando adduser de Linux no existe aquí.
Patricio