]>
Commit | Line | Data |
---|---|---|
b708297c VB |
1 | #!/bin/bash |
2 | ||
3 | set -e | |
4 | ||
5 | user="@PRIVSEP_USER@" | |
6 | group="@PRIVSEP_GROUP@" | |
7 | ||
8 | dscl=/usr/bin/dscl | |
9 | $dscl . -read "/Users/${user}" &> /dev/null || { | |
10 | # We need to find a free UID/GID | |
11 | uid=200 | |
12 | while $($dscl . -list /Users uid | grep -q "\b${uid}$") || \ | |
13 | $($dscl . -list /Users gid | grep -q "\b${uid}$"); do | |
14 | uid=$((${uid} + 1)) | |
15 | done | |
16 | $dscl . -create /Groups/${group} | |
17 | $dscl . -create /Groups/${group} PrimaryGroupID ${uid} | |
18 | $dscl . -create /Groups/${group} Password "*" | |
19 | $dscl . -create /Groups/${group} RealName "lldpd privilege separation group" | |
20 | $dscl . -create /Users/${user} | |
2d52771d | 21 | $dscl . -create /Users/${user} UserShell /usr/bin/false |
b708297c VB |
22 | $dscl . -create /Users/${user} NFSHomeDirectory /var/empty |
23 | $dscl . -create /Users/${user} PrimaryGroupID ${uid} | |
24 | $dscl . -create /Users/${user} UniqueID ${uid} | |
25 | $dscl . -create /Users/${user} Password "*" | |
26 | $dscl . -create /Users/${user} RealName "lldpd privilege separation user" | |
27 | } | |
28 | ||
29 | /bin/launchctl load "/Library/LaunchDaemons/im.bernat.lldpd.plist" |