crear usuario desde la línea de comando usando una plantilla en macOS

crear usuario desde la línea de comando usando una plantilla en macOS

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

información relacionada