3 # Richard Kettlewell 2011-06-18
10 # pick ID1 ID2 ... IDn
11 # Echoes an ID matching none of ID1..IDn
14 n
=250 # better not choose 0!
31 if dscl .
-read /Groups
/$group >/dev
/null
2>&1; then
34 gids
=$
(dscl .
-list
/Groups PrimaryGroupID|
awk '{print $2}')
36 dscl .
-create
/Groups
/$group
37 dscl .
-create
/Groups
/$group PrimaryGroupID
$gid
38 dscl .
-create
/Groups
/$group Password \
*
41 if dscl .
-read /Users
/$user >/dev
/null
2>&1; then
44 uids
=$
(dscl .
-list
/Users UniqueID|
awk '{print $2}')
46 gid
=$
(dscl .
-read /Groups
/$group PrimaryGroupID |
awk '{print $2}')
47 dscl .
-create
/Users
/$user
48 dscl .
-create
/Users
/$user UniqueID
$uid
49 dscl .
-create
/Users
/$user UserShell
/usr
/bin
/false
50 dscl .
-create
/Users
/$user RealName
'secnet'
51 dscl .
-create
/Users
/$user NFSHomeDirectory
/var
/empty
52 dscl .
-create
/Users
/$user PrimaryGroupID
$gid
53 dscl .
-create
/Users
/$user Password \
*
56 cp uk.org.greenend.secnet.plist
/Library
/LaunchDaemons
/.
57 launchctl load
/Library
/LaunchDaemons
58 echo "To start secnet:"
59 echo " sudo launchctl start uk.org.greenend.secnet"
61 echo "To stop secnet:"
62 echo " sudo launchctl stop uk.org.greenend.secnet"
65 echo " sudo launchctl unload /Library/LaunchDaemons/uk.org.greenend.secnet.plist"
66 echo " sudo rm -f /Library/LaunchDaemons/uk.org.greenend.secnet.plist"