Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- # /etc/rc.d/rc.yp
- #
- # Start NIS (Network Information Service). NIS provides network-wide
- # distribution of hostname, username, and other information databases.
- # After configuring NIS, you will need to uncomment the parts of this
- # script that you want to run.
- #
- # 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.
- # Set non-zero to enable yp client functions
- YP_CLIENT_ENABLE=1
- # Set non-zero to enable yp server functions
- YP_SERVER_ENABLE=0
- # If YP_SERVER_ENABLE is set, a non-zero YP_XFRD_ENABLE setting will
- # enable ypxfrd.
- YP_XFRD_ENABLE=0
- PID_PATH=/var/run
- 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
- echo "Starting NIS server: /usr/sbin/ypserv"
- /usr/sbin/ypserv
- 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
- # passwords. You might also want users to be able to change their shell
- # and GECOS information, in which case you should comment out the first
- # yppasswdd line and uncomment out the second one.
- if [ -x /usr/sbin/rpc.yppasswdd ]; then
- echo "Starting NIS master password server: /usr/sbin/rpc.yppasswdd"
- /usr/sbin/rpc.yppasswdd
- # echo "Starting NIS master password server: /usr/sbin/rpc.yppasswdd -e chsh -e chfn"
- # /usr/sbin/rpc.yppasswdd -e chsh -e chfn
- 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
- echo "Starting NIS transfer server: /usr/sbin/rpc.ypxfrd"
- /usr/sbin/rpc.ypxfrd
- fi
- fi
- fi
- if [ $YP_CLIENT_ENABLE -ne 0 ]; then
- # NIS CLIENT CONFIGURATION:
- # If you are a NIS client, all you need to do is run ypbind, which will
- # broadcast across the network to find a server. Your NIS server might
- # also be a client.
- if [ -d /var/yp ]; then
- echo "Starting NIS services: /usr/sbin/ypbind -broadcast"
- /usr/sbin/ypbind -broadcast
- 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.
- #
- # If /etc/defaultdomain has not been configured we'll bail out.
- if [ -r /etc/defaultdomain -a -x /bin/nisdomainname ]; then
- if [ "$(nisdomainname)" == "(none)" ]; then
- nisdomainname `cat /etc/defaultdomain`
- 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
- # # Done setting up NIS.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement