#!/bin/sh # # (c) spd_at_daphne.cps.unizar.es # Thu Nov 18 09:05:31 CET 2004 # License: Cantoware - Si te gusta ya te puedes dar con un canto en los dientes # # This script will change some user's home at passwd NIS+ database # Needs: root privileges # ECHO=/usr/bin/echo DO= usage() { echo "Use: `basename $0` [-hqn] name newhome" echo "-q: quiet" echo "-n: do nothing" } set -- `getopt hqn $*` for i in $* do case $i in -q) ECHO=:; shift;; -n) DO=echo; shift;; -h) usage exit 0 ;; esac done umask 077 set -e name=$2 home="$3" if [ "_$name" = "_" ] then echo "Empty name" usage exit 1 fi if [ "_$home" = "_" ] then echo "Empty home" usage exit 1 fi expr "$home" : "^/[a-z][a-z]*/[a-z].*" > /dev/null 2>&1 || ( echo \""$home"\" is not a valid \$HOME exit 1 ) test -d ${home}/. || echo "Warning: \"$home\" not found in filesystem" echo Setting $name home to \""$home"\" domain=`domainname` # passwd # name passwd uid gid gcos home shell shadow # cred # cname auth_type auth_name public_data private_data nismatch name=$name passwd.org_dir && \ ( $DO nistbladm -m home="$home" "[name=$name]",passwd.org_dir ) || \ echo user \"$name\" not found