Я усилил различные ответы здесь для предложения то, что я думаю, хороший сценарий для создания учетных записей пользователей. По общему признанию это не разработано для выполнения команды за один раз от ssh; это - moreso, разработанный, чтобы быть скриптом, запущенным при компиляции основанного на пакете изображения OS X (как создано Casper Imaging или InstaDMG).
#!/bin/bash
# This script creates a user account under Mac OS X
# (tested with 10.5 and 10.6; likely works with 10.4 but not earlier)
# Written by Clinton Blackmore, based on work at
# http://serverfault.com/questions/20702
# === Typically, this is all you need to edit ===
USERNAME=joeadmin
FULLNAME="Joe Admin"
PASSWORD="hard_to_hack"
# A list of (secondary) groups the user should belong to
# This makes the difference between admin and non-admin users.
# Leave only one uncommented
#SECONDARY_GROUPS="" # for a non-admin user
SECONDARY_GROUPS="admin _lpadmin _appserveradm _appserverusr" # for an admin user
# ====
if [[ $UID -ne 0 ]]; then echo "Please run $0 as root." && exit 1; fi
# Find out the next available user ID
MAXID=$(dscl . -list /Users UniqueID | awk '{print $2}' | sort -ug | tail -1)
USERID=$((MAXID+1))
# Create the user account
dscl . -create /Users/$USERNAME
dscl . -create /Users/$USERNAME UserShell /bin/bash
dscl . -create /Users/$USERNAME RealName "$FULLNAME"
dscl . -create /Users/$USERNAME UniqueID "$USERID"
dscl . -create /Users/$USERNAME PrimaryGroupID 20
dscl . -create /Users/$USERNAME NFSHomeDirectory /Users/$USERNAME
dscl . -passwd /Users/$USERNAME $PASSWORD
# Add use to any specified groups
for GROUP in $SECONDARY_GROUPS ; do
dseditgroup -o edit -t user -a $USERNAME $GROUP
done
# Create the home directory
createhomedir -c > /dev/null
echo "Created user #$USERID: $USERNAME ($FULLNAME)"
Сценарий действительно позволяет Вам указать, который группируется, пользователь должен принадлежать. Кажется мне, что это могло бы отличаться в зависимости от версии OS X, который Вы выполняете. Я получаю различные результаты, когда я работаю id
как администратор на OS X 10.6, чем я делаю при выполнении как администратор на OS X 10.5.
Файловые системы Linux могут вполне счастливо справиться от имени каталога так проблема, которую Вы видите, скорее всего, с vsftpd. Вы попытались использовать user.domain.tld
в земельном участке user@domain.tld
?