blob: e7bd58919ac07b34fb2ab50165bac352e33ab5f4 [file] [log] [blame]
robbiew3f9a8802001-10-12 20:39:17 +00001#!/bin/sh
2
robbiewd23f7242001-11-21 17:33:40 +00003# Prompt user if ids/groups should be created
4echo -n "If any required user ids and/or groups are missing, would you like these created? Y/N "
5read ans
6case $ans in
7 Y*|y*)
8 CREATE=1
9 ;;
10 *)
11 CREATE=0
12 ;;
13esac
14
15# Check ids and create if needed.
16NOBODY_ID=0
17BIN_ID=0
18DAEMON_ID=0
19NOBODY_GRP=0
20BIN_GRP=0
21DAEMON_GRP=0
22
23id nobody > /dev/null
24if [ $? != "0" ]; then
25 NOBODY_ID=1
26fi
27
28id bin > /dev/null
29if [ $? != "0" ]; then
30 BIN_ID=1
31fi
32
33id daemon > /dev/null
34if [ $? != "0" ]; then
35 DAEMON_ID=1
36fi
37
38id -g nobody > /dev/null
39if [ $? != "0" ]; then
40 NOBODY_GRP=1
41fi
42
43id -g bin > /dev/null
44if [ $? != "0" ]; then
45 BIN_GRP=1
46fi
47
48id -g daemon > /dev/null
49if [ $? != "0" ]; then
50 DAEMON_GRP=1
51fi
52
53if [ $NOBODY_ID != "1" ] && [ $NOBODY_GRP != "1" ]; then
54 echo "Nobody user id and group exist."
55else
56 if [ $NOBODY_ID -eq "1" ] && [ $CREATE -eq "1" ]; then
57 echo nobody:x:99:99:Nobody:: >> /etc/passwd
58 fi
59 if [ $NOBODY_GRP -eq "1" ] && [ $CREATE -eq "1" ]; then
60 echo nobody:x:`id -u nobody`: >> /etc/group
61 fi
62fi
63
64if [ $BIN_ID != "1" ] && [ $BIN_GRP != "1" ]; then
65 echo "Bin user id and group exist."
66else
67 if [[ $BIN_ID -eq "1" ]] && [[ $CREATE -eq "1" ]]; then
68 echo bin:x:1:1:bin:: >> /etc/passwd
69 fi
70 if [[ $BIN_GRP -eq "1" ]] && [[ $CREATE -eq "1" ]]; then
71 echo bin:x:`id -u bin`:bin >> /etc/group
72 fi
73fi
74
75if [[ $DAEMON_ID -ne "1" ]] && [[ $DAEMON_GRP -ne "1" ]]; then
76 echo "Daemon user id and group exist."
77else
78 if [[ $DAEMON_ID -eq "1" ]] && [[ $CREATE -eq "1" ]]; then
79 echo daemon:x:2:2:daemon:: >> /etc/passwd
80 fi
81 if [[ $DAEMON_GRP -eq "1" ]] && [[ $CREATE -eq "1" ]]; then
82 echo daemon:x:`id -u daemon`:daemon >> /etc/group
83 fi
84fi
85
86id nobody > /dev/null
robbiew3f9a8802001-10-12 20:39:17 +000087if [ $? -eq "0" ]; then
robbiewd23f7242001-11-21 17:33:40 +000088 id bin > /dev/null
robbiew3f9a8802001-10-12 20:39:17 +000089 if [ $? -eq "0" ]; then
robbiewd23f7242001-11-21 17:33:40 +000090 id daemon > /dev/null
robbiew3f9a8802001-10-12 20:39:17 +000091 if [ $? -eq "0" ]; then
robbiewd23f7242001-11-21 17:33:40 +000092 id -g nobody > /dev/null
robbiew3f9a8802001-10-12 20:39:17 +000093 if [ $? -eq "0" ]; then
robbiewd23f7242001-11-21 17:33:40 +000094 id -g bin > /dev/null
robbiew3f9a8802001-10-12 20:39:17 +000095 if [ $? -eq "0" ]; then
robbiewd23f7242001-11-21 17:33:40 +000096 id -g daemon > /dev/null
robbiew3f9a8802001-10-12 20:39:17 +000097 if [ $? -eq "0" ]; then
98 echo "Required users/groups exist."
99 exit 0
100 fi
101 fi
102 fi
103 fi
104 fi
105fi
robbiewd23f7242001-11-21 17:33:40 +0000106echo "*****************************************"
107echo "* Required users/groups do NOT exist!!! *"
108echo "* *"
109echo "* Some kernel/syscall tests will FAIL! *"
110echo "*****************************************"
111exit 1