diff options
Diffstat (limited to 'source/n/yptools/rc.yp')
-rw-r--r-- | source/n/yptools/rc.yp | 49 |
1 files changed, 28 insertions, 21 deletions
diff --git a/source/n/yptools/rc.yp b/source/n/yptools/rc.yp index eda9634e..a1a99746 100644 --- a/source/n/yptools/rc.yp +++ b/source/n/yptools/rc.yp @@ -3,25 +3,34 @@ # # 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. +# After configuring NIS, you will either need to uncomment the parts +# of this script that you want to run, or tweak /etc/default/yp # # 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 +# Can also be used in /etc/default/yp to override this default: YP_CLIENT_ENABLE=1 # Set non-zero to enable yp server functions +# Can also be used in /etc/default/yp to override this default: YP_SERVER_ENABLE=0 # If YP_SERVER_ENABLE is set, a non-zero YP_XFRD_ENABLE setting will # enable ypxfrd. +# Can also be used in /etc/default/yp to override this default: YP_XFRD_ENABLE=0 PID_PATH=/var/run +# Source options. Doing this here makes it possible +# to override YP_*_ENABLE set above +if [ -r /etc/default/yp ]; then + . /etc/default/yp +fi + yp_start() { if [ $YP_SERVER_ENABLE -ne 0 ]; then @@ -29,21 +38,17 @@ yp_start() { # 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 + echo "Starting NIS server: /usr/sbin/ypserv $YPSERV_OPTS" + /usr/sbin/ypserv $YPSERV_OPTS 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. + # passwords. 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 + echo "Starting NIS master password server: /usr/sbin/rpc.yppasswdd $YPPASSWDD_OPTS" + /usr/sbin/rpc.yppasswdd $YPPASSWDD_OPTS fi # If you have NIS slave servers, you might also want to start up @@ -51,20 +56,22 @@ yp_start() { # 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 + echo "Starting NIS transfer server: /usr/sbin/rpc.ypxfrd $YPXFRD_OPTS" + /usr/sbin/rpc.ypxfrd $YPXFRD_OPTS 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 you are a NIS client, all you need to do is run ypbind. + # 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 + if [ -z "$YPBIND_OPTS" ]; then + YPBIND_OPTS="-broadcast" + fi + echo "Starting NIS services: /usr/sbin/ypbind $YPBIND_OPTS" + /usr/sbin/ypbind $YPBIND_OPTS fi fi } @@ -96,9 +103,9 @@ yp_stop() { # 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` +if [ -r /etc/defaultdomain ] && [ -x /bin/nisdomainname ]; then + if ! /bin/nisdomainname 1>/dev/null 2>/dev/null ; then + nisdomainname $(cat /etc/defaultdomain) fi else echo "/etc/rc.d/rc.yp: NIS not configured. Hint: set up /etc/defaultdomain." |