macOS의 템플릿을 사용하여 명령줄에서 사용자 생성

macOS의 템플릿을 사용하여 명령줄에서 사용자 생성

macOS High Sierra 및 Mojave의 명령줄에서(또는 쉘 스크립트를 사용하여) 사용자를 생성하고 싶습니다. 사용자 계정은 사용자 템플릿의 복사본이어야 합니다. 템플릿을 생성하기 위해 /System/Library/User Template/ 폴더를 변경했습니다.

사용자를 수동으로 생성하면 템플릿이 작동합니다. 그러나 이미 존재하는 쉘 스크립트를 사용하여 사용자를 생성하는 경우 템플릿 기본 설정이 무시됩니다.

사용자 계정을 생성하는 데 사용되는 코드는 다음과 같습니다.

#!/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

제가 할 수 있는 일이 있나요? 사용자 계정을 생성하기 위해 dscl의 대안이 있을까요? 잘 알려진 Linux 명령 adduser는 여기에 존재하지 않습니다.

패트릭

관련 정보