
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는 여기에 존재하지 않습니다.
패트릭