Tryag File Manager
Home
-
Turbo Force
Current Path :
/
etc
/
init.d
/
Upload File :
New :
File
Dir
//etc/init.d/ypbind
#!/bin/bash # # ypbind: Starts the ypbind Daemon # # Version: @(#) /etc/init.d/ypbind.init 1.3 # # chkconfig: - 27 73 # description: This is a daemon which runs on NIS/YP clients and binds them \ # to a NIS domain. It must be running for systems based on glibc \ # to work as NIS clients, but it should not be enabled on systems \ # which are not using NIS. # processname: ypbind # config: /etc/yp.conf OTHER_YPBIND_OPTS="" # Source function library. . /etc/init.d/functions . /etc/sysconfig/network # Check for and source configuration file otherwise set defaults [ -f /etc/sysconfig/ypbind ] && . /etc/sysconfig/ypbind [ -z "$NISTIMEOUT" ] && NISTIMEOUT=20 # Check that networking is configured. [ ${NETWORKING} = "no" ] && exit 0 selinux_on() { [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled || return echo $"Turning on allow_ypbind SELinux boolean" setsebool allow_ypbind=1 } selinux_off() { [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled || return allow_ypbind=0 . /etc/selinux/config if [ -e /etc/selinux/${SELINUXTYPE}/modules/active/booleans.local ]; then . /etc/selinux/${SELINUXTYPE}/modules/active/booleans.local fi if [ $allow_ypbind == 0 ]; then echo $"Turning off allow_ypbind SELinux boolean" setsebool allow_ypbind=$allow_ypbind fi } start() { DOMAINNAME=`domainname` if [ "$DOMAINNAME" = "(none)" -o "$DOMAINNAME" = "" ]; then if [ -n "$NISDOMAIN" ]; then action $"Setting NIS domain name $NISDOMAIN: " domainname $NISDOMAIN else action $"Error: NIS domain name is not set." false exit 1 fi fi #/etc/rpc check grep ypbind /etc/rpc > /dev/null 2>&1 if [ $? -ne 0 ]; then action $"Error: Missing ypbind entry in /etc/rpc." false exit 1 fi selinux_on echo -n $"Binding to the NIS domain: " daemon ypbind $OTHER_YPBIND_OPTS RETVAL=$? echo if [ $RETVAL -ne 0 ]; then selinux_off return $RETVAL fi # the following fixes problems with the init scripts continuing # even when we are really not bound yet to a server, and then things # that need NIS fail. echo -n $"Listening for an NIS domain server." for (( times = 1; times < $NISTIMEOUT; times++ )); do /usr/sbin/rpcinfo -p | LC_ALL=C fgrep -q ypbind && ypwhich > /dev/null 2>&1 RETVAL=$? if [ $RETVAL -eq 0 ]; then break; fi sleep 1 echo -n "." done if [ $RETVAL -eq 0 ]; then logger -t ypbind "bound to NIS server `ypwhich 2> /dev/null`" touch /var/lock/subsys/ypbind else killproc ypbind # if we used brute force (like kill -9) we don't want those around if [ x$(domainname) != x ] ; then rm -f /var/yp/binding/$(domainname)* fi failure "attempting to contact yp server" selinux_off fi echo return $RETVAL } stop() { echo -n $"Shutting down NIS services: " killproc ypbind RETVAL=$? if [ $RETVAL -eq 0 ] ; then rm -f /var/lock/subsys/ypbind # if we used brute force (like kill -9) we don't want those around if [ x$(domainname) != x ] ; then rm -f /var/yp/binding/$(domainname)* fi fi echo #selinux_off return $RETVAL } restart() { stop start } RETVAL=0 # See how we were called. case "$1" in start) start ;; stop) stop ;; status) status ypbind ;; restart|reload) restart ;; condrestart) [ -f /var/lock/subsys/ypbind ] && restart || : ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart}" exit 1 esac exit $?