2009-08-26 17:00:38 +02:00
|
|
|
#!/bin/sh
|
|
|
|
# /etc/rc.d/rc.yp
|
|
|
|
#
|
|
|
|
# Start NIS (Network Information Service). NIS provides network-wide
|
|
|
|
# distribution of hostname, username, and other information databases.
|
2018-05-28 21:12:29 +02:00
|
|
|
# After configuring NIS, you will either need to uncomment the parts
|
|
|
|
# of this script that you want to run, or tweak /etc/default/yp
|
2009-08-26 17:00:38 +02:00
|
|
|
#
|
|
|
|
# NOTE: for detailed information about setting up NIS, see the
|
|
|
|
# documentation in /usr/doc/yp-tools, /usr/doc/ypbind,
|
|
|
|
# /usr/doc/ypserv, and /usr/doc/Linux-HOWTOs/NIS-HOWTO.
|
|
|
|
|
2012-09-26 03:10:42 +02:00
|
|
|
# Set non-zero to enable yp client functions
|
2018-05-28 21:12:29 +02:00
|
|
|
# Can also be used in /etc/default/yp to override this default:
|
2012-09-26 03:10:42 +02:00
|
|
|
YP_CLIENT_ENABLE=1
|
|
|
|
|
|
|
|
# Set non-zero to enable yp server functions
|
2018-05-28 21:12:29 +02:00
|
|
|
# Can also be used in /etc/default/yp to override this default:
|
2012-09-26 03:10:42 +02:00
|
|
|
YP_SERVER_ENABLE=0
|
|
|
|
|
|
|
|
# If YP_SERVER_ENABLE is set, a non-zero YP_XFRD_ENABLE setting will
|
|
|
|
# enable ypxfrd.
|
2018-05-28 21:12:29 +02:00
|
|
|
# Can also be used in /etc/default/yp to override this default:
|
2012-09-26 03:10:42 +02:00
|
|
|
YP_XFRD_ENABLE=0
|
|
|
|
|
|
|
|
PID_PATH=/var/run
|
|
|
|
|
2018-05-28 21:12:29 +02:00
|
|
|
# Source options. Doing this here makes it possible
|
|
|
|
# to override YP_*_ENABLE set above
|
|
|
|
if [ -r /etc/default/yp ]; then
|
|
|
|
. /etc/default/yp
|
|
|
|
fi
|
|
|
|
|
2012-09-26 03:10:42 +02:00
|
|
|
yp_start() {
|
|
|
|
|
|
|
|
if [ $YP_SERVER_ENABLE -ne 0 ]; then
|
|
|
|
# NIS SERVER CONFIGURATION:
|
|
|
|
# If you are the master server for the NIS domain, you must run ypserv to
|
|
|
|
# service clients on the domain.
|
|
|
|
if [ -x /usr/sbin/ypserv ]; then
|
2018-05-28 21:12:29 +02:00
|
|
|
echo "Starting NIS server: /usr/sbin/ypserv $YPSERV_OPTS"
|
|
|
|
/usr/sbin/ypserv $YPSERV_OPTS
|
2012-09-26 03:10:42 +02:00
|
|
|
fi
|
|
|
|
|
|
|
|
# If you are the master server for the NIS domain, you must also run
|
|
|
|
# rpc.yppasswdd, which is the RPC server that lets users change their
|
2018-05-28 21:12:29 +02:00
|
|
|
# passwords.
|
2012-09-26 03:10:42 +02:00
|
|
|
|
|
|
|
if [ -x /usr/sbin/rpc.yppasswdd ]; then
|
2018-05-28 21:12:29 +02:00
|
|
|
echo "Starting NIS master password server: /usr/sbin/rpc.yppasswdd $YPPASSWDD_OPTS"
|
|
|
|
/usr/sbin/rpc.yppasswdd $YPPASSWDD_OPTS
|
2012-09-26 03:10:42 +02:00
|
|
|
fi
|
|
|
|
|
|
|
|
# If you have NIS slave servers, you might also want to start up
|
|
|
|
# rpc.ypxfrd, which transfers changes in the NIS domain to slave servers.
|
|
|
|
# Alternatively, rpc.ypxfrd can be run out of inetd.
|
|
|
|
if [ $YP_XFRD_ENABLE -ne 0 ]; then
|
|
|
|
if [ -x /usr/sbin/rpc.ypxfrd ]; then
|
2018-05-28 21:12:29 +02:00
|
|
|
echo "Starting NIS transfer server: /usr/sbin/rpc.ypxfrd $YPXFRD_OPTS"
|
|
|
|
/usr/sbin/rpc.ypxfrd $YPXFRD_OPTS
|
2012-09-26 03:10:42 +02:00
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ $YP_CLIENT_ENABLE -ne 0 ]; then
|
|
|
|
# NIS CLIENT CONFIGURATION:
|
2018-05-28 21:12:29 +02:00
|
|
|
# If you are a NIS client, all you need to do is run ypbind.
|
|
|
|
# Your NIS server might also be a client.
|
2012-09-26 03:10:42 +02:00
|
|
|
if [ -d /var/yp ]; then
|
2018-05-28 21:12:29 +02:00
|
|
|
if [ -z "$YPBIND_OPTS" ]; then
|
|
|
|
YPBIND_OPTS="-broadcast"
|
|
|
|
fi
|
|
|
|
echo "Starting NIS services: /usr/sbin/ypbind $YPBIND_OPTS"
|
|
|
|
/usr/sbin/ypbind $YPBIND_OPTS
|
2012-09-26 03:10:42 +02:00
|
|
|
fi
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
yp_stop() {
|
|
|
|
if [ -r ${PID_PATH}/ypbind.pid ]; then
|
|
|
|
echo "Stopping NIS services."
|
|
|
|
kill $(cat ${PID_PATH}/ypbind.pid)
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -r ${PID_PATH}/ypxfrd.pid ]; then
|
|
|
|
echo "Stopping NIS transfer server."
|
|
|
|
kill $(cat ${PID_PATH}/ypxfrd.pid)
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -r ${PID_PATH}/yppasswdd.pid ]; then
|
|
|
|
echo "Stopping NIS master password server."
|
|
|
|
kill $(cat ${PID_PATH}/yppasswdd.pid)
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -r ${PID_PATH}/ypserv.pid ]; then
|
|
|
|
echo "Stopping NIS server."
|
|
|
|
kill $(cat ${PID_PATH}/ypserv.pid)
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
# First, we must setup the NIS domainname. NOTE: this is not necessarily
|
|
|
|
# the same as your DNS domainname, set in /etc/resolv.conf. The NIS
|
|
|
|
# domainname is the name of a domain served by your NIS server.
|
2009-08-26 17:00:38 +02:00
|
|
|
#
|
2012-09-26 03:10:42 +02:00
|
|
|
# If /etc/defaultdomain has not been configured we'll bail out.
|
2018-05-28 21:12:29 +02:00
|
|
|
if [ -r /etc/defaultdomain ] && [ -x /bin/nisdomainname ]; then
|
|
|
|
if ! /bin/nisdomainname 1>/dev/null 2>/dev/null ; then
|
|
|
|
nisdomainname $(cat /etc/defaultdomain)
|
2012-09-26 03:10:42 +02:00
|
|
|
fi
|
|
|
|
else
|
|
|
|
echo "/etc/rc.d/rc.yp: NIS not configured. Hint: set up /etc/defaultdomain."
|
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
|
|
|
|
case "$1" in
|
|
|
|
'start')
|
|
|
|
yp_start
|
|
|
|
;;
|
|
|
|
'stop')
|
|
|
|
yp_stop
|
|
|
|
;;
|
|
|
|
'restart')
|
|
|
|
yp_stop
|
|
|
|
yp_start
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "usage $0 start|stop|restart"
|
|
|
|
esac
|
|
|
|
|
2009-08-26 17:00:38 +02:00
|
|
|
# # Done setting up NIS.
|