![在 macOS 中使用模板从命令行创建用户](https://linux22.com/image/1600415/%E5%9C%A8%20macOS%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E6%A8%A1%E6%9D%BF%E4%BB%8E%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%88%9B%E5%BB%BA%E7%94%A8%E6%88%B7.png)
我想在 macOS High Sierra 和 Mojave 中通过命令行(或使用 shell 脚本)创建用户。用户帐户应该是用户模板的副本。为了创建模板,我在文件夹 /System/Library/User Template/ 中进行了更改
如果我手动创建用户,模板就可以正常工作。但是,如果我使用现有的 shell 脚本来创建用户,模板首选项将被忽略。
这是用于创建用户帐户的代码
#!/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。
帕特里克