Saya mencoba skrip dari par , dan menemukan beberapa masalah. Jadi saya memodifikasinya untuk satu userid spesifik dan untuk OS X Mavericks (10.9).
Saya menemukan bahwa ada beberapa catatan asing yang ditambahkan ke akun Pengguna di bawah Mavericks - PasswordPolicyOptions dan catatan AuthenticationAuthority - yang perlu dihapus untuk dengan benar meniru akun pengguna layanan builtin lainnya (seperti _www).
Saya juga menambahkan catatan Kata Sandi dan RealName ke akun Grup.
Saya membuat skrip khusus, khusus, hanya untuk akun layanan WSGI. Berikut skrip yang diperbarui.
#! /bin/bash
#
# Check that we are superuser (i.e. $(id -u) is zero)
if (( $(id -u) ))
then
echo "This script needs to run as root"
exit 1
fi
username_=wsgi
uid_=240
realname_="WSGI Daemon"
dscl . -create /Groups/_$username_
dscl . -create /Groups/_$username_ PrimaryGroupID $uid_
dscl . -create /Groups/_$username_ RecordName _$username_ $username_
dscl . -create /Groups/_$username_ RealName $realname_
dscl . -create /Groups/_$username_ Password \*
dscl . -create /Users/_$username_
dscl . -create /Users/_$username_ NFSHomeDirectory /xpt/local/apache2/wsgi/api
dscl . -create /Users/_$username_ Password \*
dscl . -create /Users/_$username_ PrimaryGroupID $uid_
dscl . -create /Users/_$username_ RealName $realname_
dscl . -create /Users/_$username_ RecordName _$username_ $username_
dscl . -create /Users/_$username_ UniqueID $uid_
dscl . -create /Users/_$username_ UserShell /usr/bin/false
dscl . -delete /Users/_$username_ PasswordPolicyOptions
dscl . -delete /Users/_$username_ AuthenticationAuthority
Perhatikan bahwa setelah menjalankan skrip ini, file / etc / passwd dan / etc / groups tidak diperbarui. Saya percaya mereka diperbarui saat reboot.