This file is indexed.

/usr/sbin/drbl-client-service is in drbl 2.6.15-1.

This file is owned by root:root, with mode 0o755.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
#!/bin/bash
# Written by Steven Shiau <steven@nchc.org.tw> to use in DRBL for RedHat
# License: GPL

# Load DRBL setting and functions
DRBL_SCRIPT_PATH="${DRBL_SCRIPT_PATH:-/usr/share/drbl}"

. $DRBL_SCRIPT_PATH/sbin/drbl-conf-functions

USAGE() {
     echo "Usage: $0 Options SERVICE_NAME {on|off|reset|add|del|list}"
     echo " Options:"
     echo " -h, --host IP_ADDRESS:  set only for the host with IP_ADDRESS instead of all DRBL clients"
     echo " -g, --no-gen-ssi Do NOT generate DRBL SSI template tarball."
     echo " Example: use the following to turn on the DRBL clients' kudzu"
     echo " $0 kudzu on"
}

# main
check_if_root

# 
unalias ls 2>/dev/null

while [ $# -gt 0 ]; do
  case "$1" in
    -h|--host)
		shift; specified_host="$1"
		shift
                ;;
    -g|--no-gen-ssi)
		gen_ssi="no"
                shift;;
    -*)		echo "${0}: ${1}: invalid option" >&2
		USAGE >& 2
		exit 2 ;;
    *)		break ;;
  esac
done

service=$1
switch=$2

[ -z "$service" ] && USAGE && exit 1
[ -z "$switch" ] && USAGE && exit 1

#
if [ -n "$specified_host" ]; then
 [ ! -d "$drblroot/$specified_host" ] && echo "Can NOT find DRBL client $specified_host (i.e. no $drblroot/$specified_host)! Program terminated!" && exit 1
 [ -n "$verbose" ] && echo "specified_host: $specified_host"
fi

# set the host to be processed
# host_list is the IP address of client, like 192.168.1.1...
host_list=""
if [ -n "$specified_host" ]; then
   # set the host path
   host_list=$drblroot/$specified_host
else
   # withoud specified_host, it must be all clients, append each one to $host_list
   for ihost in $drblroot/*; do
     host_list="$host_list $ihost"
   done
fi

#
for ihost in $host_list; do
  case "$switch" in
  on)
     echo "Turning on the service \"$service\" for DRBL client `basename $ihost`..."
     if [ -e /etc/debian_version ]; then
       # Debian-like
       get_debian_ubuntu_init_serv_control_prog
       # prepare the update-rc.d env, perl is necessary for update-rc.d
       prepare_update_rc_d_env $ihost
       if [ "$dbn_ubn_serv_control_prog" = "use-insserv" ]; then
         # Use insserv
         chroot $ihost/ insserv $service &> /dev/null
       else
         # Use update-rc.d
         chroot $ihost/ /usr/sbin/update-rc.d $service defaults &> /dev/null
       fi
       #clean_update_rc_d_env $ihost
     elif [ -e /etc/SuSE-release ]; then
       # SuSE
       create_insserv_env $ihost
       chroot $ihost/ /sbin/insserv -f $service
     else
       # RH-like
       create_chkconfig_env $ihost
       chroot $ihost/ /sbin/chkconfig $service on
       #clean_chkconfig_env $ihost
       echo "done!"
     fi
     ;;
  off)
     echo "Turning off the service \"$service\" for DRBL client `basename $ihost`..."
     if [ -e /etc/debian_version ]; then
       # Debian-like
       get_debian_ubuntu_init_serv_control_prog
       # prepare the update-rc.d env, perl is necessary for update-rc.d
       prepare_update_rc_d_env $ihost
       if [ "$dbn_ubn_serv_control_prog" = "use-insserv" ]; then
         # Use insserv
         chroot $ihost/ insserv -r $service &> /dev/null
       else
         # Use update-rc.d
         chroot $ihost/ /usr/sbin/update-rc.d -f $service remove &> /dev/null
       fi
       #clean_update_rc_d_env $ihost
     elif [ -e /etc/SuSE-release ]; then
       # SuSE
       create_insserv_env $ihost
       chroot $ihost/ /sbin/insserv -f -r $service
     else
       create_chkconfig_env $ihost
       chroot $ihost/ /sbin/chkconfig $service off
       #clean_chkconfig_env $ihost
       echo "done!"
     fi
     ;;
  reset)
     echo "Resetting the service \"$service\" for DRBL client `basename $ihost`..."
     if [ -e /etc/debian_version ]; then
       echo "Reset service in DRBL clients is not supported! Sorry!"
     elif [ -e /etc/SuSE-release ]; then
       # SuSE
       echo "Reset service in DRBL clients is not supported! Sorry!"
     else
       create_chkconfig_env $ihost
       chroot $ihost/ /sbin/chkconfig $service reset
       #clean_chkconfig_env $ihost
       echo "done!"
     fi
     ;;
  add)
     echo "Adding the service \"$service\" for DRBL client `basename $ihost`..."
     if [ -e /etc/debian_version ]; then
       echo "Add service for DRBL clients in not supported! Sorry!"
     elif [ -e /etc/SuSE-release ]; then
       # SuSE
       echo "Add service for DRBL clients in not supported! Sorry!"
     else
       create_chkconfig_env $ihost
       chroot $ihost/ /sbin/chkconfig --add $service
       #clean_chkconfig_env $ihost
       echo "done!"
     fi
     ;;
  del)
     echo "Deleting the service \"$service\" for DRBL client `basename $ihost`..."
     if [ -e /etc/debian_version ]; then
       echo "Reset service in DRBL clients is not supported! Sorry!"
     elif [ -e /etc/SuSE-release ]; then
       # SuSE
       echo "Reset service in DRBL clients is not supported! Sorry!"
     else
       create_chkconfig_env $ihost
       chroot $ihost/ /sbin/chkconfig --del $service
       #clean_chkconfig_env $ihost
       echo "done!"
     fi
     ;;
  list)
     echo "Listing the service \"$service\" for DRBL client `basename $ihost`..."
     if [ -e /etc/debian_version ]; then
       echo "Reset service in DRBL clients is not supported! Sorry!"
     elif [ -e /etc/SuSE-release ]; then
       # SuSE
       echo "Reset service in DRBL clients is not supported! Sorry!"
     else
       create_chkconfig_env $ihost
       chroot $ihost/ /sbin/chkconfig --list $service
       #clean_chkconfig_env $ihost
       echo "done!"
     fi
     ;;
  *)
     USAGE
     exit 1
  esac
done

#
if [ "$gen_ssi" != "no" ]; then
  echo "-------------------------------------------------------"
  echo "Since some config files are modified in template client, creating template tarball for DRBL SSI..."
  drbl-gen-ssi-files
fi