robbiew | 3f9a880 | 2001-10-12 20:39:17 +0000 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | |
robbiew | d23f724 | 2001-11-21 17:33:40 +0000 | [diff] [blame^] | 3 | # Prompt user if ids/groups should be created |
| 4 | echo -n "If any required user ids and/or groups are missing, would you like these created? Y/N " |
| 5 | read ans |
| 6 | case $ans in |
| 7 | Y*|y*) |
| 8 | CREATE=1 |
| 9 | ;; |
| 10 | *) |
| 11 | CREATE=0 |
| 12 | ;; |
| 13 | esac |
| 14 | |
| 15 | # Check ids and create if needed. |
| 16 | NOBODY_ID=0 |
| 17 | BIN_ID=0 |
| 18 | DAEMON_ID=0 |
| 19 | NOBODY_GRP=0 |
| 20 | BIN_GRP=0 |
| 21 | DAEMON_GRP=0 |
| 22 | |
| 23 | id nobody > /dev/null |
| 24 | if [ $? != "0" ]; then |
| 25 | NOBODY_ID=1 |
| 26 | fi |
| 27 | |
| 28 | id bin > /dev/null |
| 29 | if [ $? != "0" ]; then |
| 30 | BIN_ID=1 |
| 31 | fi |
| 32 | |
| 33 | id daemon > /dev/null |
| 34 | if [ $? != "0" ]; then |
| 35 | DAEMON_ID=1 |
| 36 | fi |
| 37 | |
| 38 | id -g nobody > /dev/null |
| 39 | if [ $? != "0" ]; then |
| 40 | NOBODY_GRP=1 |
| 41 | fi |
| 42 | |
| 43 | id -g bin > /dev/null |
| 44 | if [ $? != "0" ]; then |
| 45 | BIN_GRP=1 |
| 46 | fi |
| 47 | |
| 48 | id -g daemon > /dev/null |
| 49 | if [ $? != "0" ]; then |
| 50 | DAEMON_GRP=1 |
| 51 | fi |
| 52 | |
| 53 | if [ $NOBODY_ID != "1" ] && [ $NOBODY_GRP != "1" ]; then |
| 54 | echo "Nobody user id and group exist." |
| 55 | else |
| 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 |
| 62 | fi |
| 63 | |
| 64 | if [ $BIN_ID != "1" ] && [ $BIN_GRP != "1" ]; then |
| 65 | echo "Bin user id and group exist." |
| 66 | else |
| 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 |
| 73 | fi |
| 74 | |
| 75 | if [[ $DAEMON_ID -ne "1" ]] && [[ $DAEMON_GRP -ne "1" ]]; then |
| 76 | echo "Daemon user id and group exist." |
| 77 | else |
| 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 |
| 84 | fi |
| 85 | |
| 86 | id nobody > /dev/null |
robbiew | 3f9a880 | 2001-10-12 20:39:17 +0000 | [diff] [blame] | 87 | if [ $? -eq "0" ]; then |
robbiew | d23f724 | 2001-11-21 17:33:40 +0000 | [diff] [blame^] | 88 | id bin > /dev/null |
robbiew | 3f9a880 | 2001-10-12 20:39:17 +0000 | [diff] [blame] | 89 | if [ $? -eq "0" ]; then |
robbiew | d23f724 | 2001-11-21 17:33:40 +0000 | [diff] [blame^] | 90 | id daemon > /dev/null |
robbiew | 3f9a880 | 2001-10-12 20:39:17 +0000 | [diff] [blame] | 91 | if [ $? -eq "0" ]; then |
robbiew | d23f724 | 2001-11-21 17:33:40 +0000 | [diff] [blame^] | 92 | id -g nobody > /dev/null |
robbiew | 3f9a880 | 2001-10-12 20:39:17 +0000 | [diff] [blame] | 93 | if [ $? -eq "0" ]; then |
robbiew | d23f724 | 2001-11-21 17:33:40 +0000 | [diff] [blame^] | 94 | id -g bin > /dev/null |
robbiew | 3f9a880 | 2001-10-12 20:39:17 +0000 | [diff] [blame] | 95 | if [ $? -eq "0" ]; then |
robbiew | d23f724 | 2001-11-21 17:33:40 +0000 | [diff] [blame^] | 96 | id -g daemon > /dev/null |
robbiew | 3f9a880 | 2001-10-12 20:39:17 +0000 | [diff] [blame] | 97 | if [ $? -eq "0" ]; then |
| 98 | echo "Required users/groups exist." |
| 99 | exit 0 |
| 100 | fi |
| 101 | fi |
| 102 | fi |
| 103 | fi |
| 104 | fi |
| 105 | fi |
robbiew | d23f724 | 2001-11-21 17:33:40 +0000 | [diff] [blame^] | 106 | echo "*****************************************" |
| 107 | echo "* Required users/groups do NOT exist!!! *" |
| 108 | echo "* *" |
| 109 | echo "* Some kernel/syscall tests will FAIL! *" |
| 110 | echo "*****************************************" |
| 111 | exit 1 |