#!/bin/sh # version 1.3 # Run This script on server # very simple script to setup nis and autofs # so you can find some error. plz report: clic-dev-public@mandrakesoft.com CONFFILE="/etc/clusterserver.conf" if [ ! -f ${CONFFILE} ]; then echo "Cant find ${CONFFILE} !" exit 1 fi . ${CONFFILE} # info echo echo " Setting up NIS server with default configuration !" echo " Look in ${CONFFILE} to adjust NIS config" echo echo " Using those values to setup the NIS:" echo " |-----------------------------------------------------------" echo " | Hostname: | ${NAMEOFSERVER}" echo " |-----------------------------------------------------------" echo " | Domainname: | ${DOMAINNAME}" echo " |-----------------------------------------------------------" echo " | Nis domain | ${NISDOMAIN}" echo " |-----------------------------------------------------------" echo " | IP of NIS server: | ${IPSERVER}" echo " |-----------------------------------------------------------" echo " | NIS home directory: | ${HOMENIS}" echo " |-----------------------------------------------------------" echo " | NIS makefile: | ${NIS_MAKEFILE}" echo " |-----------------------------------------------------------" echo " | NFS server: | ${NFSSERVER}" echo " |-----------------------------------------------------------" echo sleep 3 update_ypconf() { echo " - Updating /etc/yp.conf:" cp -v /etc/yp.conf /etc/yp.conf.${DATE}.sauv grep -v "domain" /etc/yp.conf.${DATE}.sauv > /etc/yp.conf echo "domain ${NISDOMAIN} server ${NISSERVER}" >> /etc/yp.conf # echo "server ${NISSERVER} broadcast" >> /etc/yp.conf } start_service() { CHECK_YPSERV_STAT=`pidof $1` if [ -z "${CHECK_YPSERV_STAT}" ]; then echo " - Starting $1 service:" /etc/rc.d/init.d/$1 start else echo " - Restarting $1 service:" /etc/rc.d/init.d/$1 restart fi } # config of /etc/yp.conf CHECK_YPCONF=`grep ${NISSERVER} /etc/yp.conf` if [ -z "${CHECK_YPCONF}" ]; then update_ypconf else echo " - /etc/yp.conf is ok" fi # update /etc/sysconfig/network CHECK_NETWORK=`grep NISDOMAIN=${NISDOMAIN} ${NETWORKFILE}` if [ -z "${CHECK_NETWORK}" ]; then echo " - Updating ${NETWORKFILE}" cp ${NETWORKFILE} ${NETWORKFILE}.${DATE}.sauv echo "NISDOMAIN=${NISDOMAIN}" >> ${NETWORKFILE} else echo " - ${NETWORKFILE} is ok" fi # create yp base /usr/lib/yp/ypinit -m << EOF EOF # test directory if [ -d "${HOMENIS}" ]; then echo " - ${HOMENIS} directory exist" else echo " - Creating ${HOMENIS} directory" mkdir ${HOMENIS} fi # check nis home CHECK_HOMENIS=`grep ${HOMENIS} /etc/exports` if [ -z "${CHECK_HOMENIS}" ] ; then echo "${HOMENIS} *(rw,no_root_squash)" >> /etc/exports start_service nfslock else echo " - /etc/exports ready:" echo ${CHECK_HOMENIS} fi # adjust /etc/auto.master echo " - Adjusting /etc/auto.master" echo "${HOMENIS} auto.home --timeout=60" > /etc/auto.master # permission in /etc/auto.home echo " - Permission for all user to go in /etc/auto.home" echo "* -rw,nfs,soft,intr,nosuid,rsize=8192,wsize=8192 ${NISSERVER}:${HOMENIS}/&" > /etc/auto.home # Makefile parameter echo " - Updating ${NIS_MAKEFILE} to remove mail and add autofs" perl -pi -e 's/^ALIASES.*/#ALIASES\=\/etc\/aliases/g' ${NIS_MAKEFILE} perl -pi -e 's/^all.*/all\: passwd group hosts rpc services netid protocols auto.master auto.home \\/g' ${NIS_MAKEFILE} echo echo " - You can add a user or remove it with:" echo " deluserNis and adduserNis command" # build new MAP ! cd /var/yp make # restart service start_service ypserv start_service ypbind # reload nfs service nfs reload