obrisane nepotrebne datoteke od zadnjeg builda
[ossec-hids.git] / src / init / osx105-addusers.sh
1 #! /bin/bash
2 # By Spransy, Derek" <DSPRANS () emory ! edu> and Charlie Scott
3
4 #####
5 # This checks for an error and exits with a custom message
6 # Returns zero on success
7 # $1 is the message
8 # $2 is the error code
9
10 if [[ ! -f "/usr/bin/dscl" ]]
11   then
12   echo "Error, I have no dscl, dying here";
13   exit
14 fi
15
16 DSCL="/usr/bin/dscl";
17
18 function check_errm
19 {
20    if  [[ ${?} != "0" ]]
21       then
22       echo "${1}";
23       exit ${2};
24       fi
25 }
26
27 # get unique id numbers (uid, gid) that are greater than 100
28 unset -v i new_uid new_gid idvar;
29 declare -i new_uid=0 new_gid=0 i=100 idvar=0;
30 while [[ $idvar -eq 0 ]]; do
31    i=$[i+1]
32    j=$[i+1]
33    k=$[i+2]
34    if [[ -z "$(/usr/bin/dscl . -search /Users uid ${i})" ]] && [[ -z "$(/usr/bin/dscl . -search /Groups gid ${i})" ]] && \
35       [[ -z "$(/usr/bin/dscl . -search /Users uid ${j})" ]] && [[ -z "$(/usr/bin/dscl . -search /Groups gid ${j})" ]] && \
36       [[ -z "$(/usr/bin/dscl . -search /Users uid ${k})" ]] && [[ -z "$(/usr/bin/dscl . -search /Groups gid ${k})" ]];
37       then
38       new_uid=$i
39       new_gid=$i
40       idvar=1
41       #break
42    fi
43 done
44
45 echo "UIDs available are:";
46 echo ${new_uid}
47 echo ${j}
48 echo ${k}
49
50 # Verify that the uid and gid exist and match
51 if [[ $new_uid -eq 0 ]] || [[ $new_gid -eq 0 ]];
52    then
53    echo "Getting unique id numbers (uid, gid) failed!";
54    exit 1;
55    fi
56 if [[ ${new_uid} != ${new_gid} ]]
57    then
58    echo "I failed to find matching free uid and gid!";
59    exit 5;
60    fi
61
62
63 # Creating the groups.
64 sudo ${DSCL} localhost -create /Local/Default/Groups/ossec
65 check_errm "Error creating group ossec" "67"
66 sudo ${DSCL} localhost -createprop /Local/Default/Groups/ossec PrimaryGroupID ${new_gid}
67 sudo ${DSCL} localhost -createprop /Local/Default/Groups/ossec RealName ossec
68 sudo ${DSCL} localhost -createprop /Local/Default/Groups/ossec RecordName ossec
69 sudo ${DSCL} localhost -createprop /Local/Default/Groups/ossec RecordType: dsRecTypeStandard:Groups
70 sudo ${DSCL} localhost -createprop /Local/Default/Groups/ossec Password "*"
71
72
73 # Creating the users.
74
75 if [[ $(dscl . -read /Users/ossecm) ]]
76    then
77    echo "ossecm already exists";
78 else
79    sudo ${DSCL} localhost -create /Local/Default/Users/ossecm
80    check_errm "Error creating user ossecm" "87"
81    sudo ${DSCL} localhost -createprop /Local/Default/Users/ossecm RecordName ossecm
82    sudo ${DSCL} localhost -createprop /Local/Default/Users/ossecm RealName "ossecmacct"
83    sudo ${DSCL} localhost -createprop /Local/Default/Users/ossecm NFSHomeDirectory /var/ossec
84    sudo ${DSCL} localhost -createprop /Local/Default/Users/ossecm UniqueID ${j}
85    sudo ${DSCL} localhost -createprop /Local/Default/Users/ossecm PrimaryGroupID ${new_gid}
86    sudo ${DSCL} localhost -append /Local/Default/Groups/ossec GroupMembership ossecm
87    sudo ${DSCL} localhost -createprop /Local/Default/Users/ossecm Password "*"
88 fi
89
90 if [[ $(dscl . -read /Users/ossecr) ]]
91    then
92    echo "ossecr already exists";
93 else
94    sudo ${DSCL} localhost -create /Local/Default/Users/ossecr
95    check_errm "Error creating user ossecr" "97"
96    sudo ${DSCL} localhost -createprop /Local/Default/Users/ossecr RecordName ossecr
97    sudo ${DSCL} localhost -createprop /Local/Default/Users/ossecr RealName "ossecracct"
98    sudo ${DSCL} localhost -createprop /Local/Default/Users/ossecr NFSHomeDirectory /var/ossec
99    sudo ${DSCL} localhost -createprop /Local/Default/Users/ossecr UniqueID ${k}
100    sudo ${DSCL} localhost -createprop /Local/Default/Users/ossecr PrimaryGroupID ${new_gid}
101    sudo ${DSCL} localhost -append /Local/Default/Groups/ossec GroupMembership ossecr
102    sudo ${DSCL} localhost -createprop /Local/Default/Users/ossecr Password "*"
103 fi
104
105 if [[ $(dscl . -read /Users/ossec) ]]
106    then
107    echo "ossec already exists";
108 else
109    sudo ${DSCL} localhost -create /Local/Default/Users/ossec
110    check_errm "Error creating user ossec" "77"
111    sudo ${DSCL} localhost -createprop /Local/Default/Users/ossec RecordName ossec
112    sudo ${DSCL} localhost -createprop /Local/Default/Users/ossec RealName "ossecacct"
113    sudo ${DSCL} localhost -createprop /Local/Default/Users/ossec NFSHomeDirectory /var/ossec
114    sudo ${DSCL} localhost -createprop /Local/Default/Users/ossec UniqueID ${new_uid}
115    sudo ${DSCL} localhost -createprop /Local/Default/Users/ossec PrimaryGroupID ${new_gid}
116    sudo ${DSCL} localhost -append /Local/Default/Groups/ossec GroupMembership ossec
117    sudo ${DSCL} localhost -createprop /Local/Default/Users/ossec Password "*"
118 fi
119