#!/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 change some user gid field in NIS+ database # Needs: root privileges # ECHO=/usr/bin/echo DO= usage() { echo "Use: `basename $0` [-hqn] name newgid" 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 if [ $# -ne 3 ] then usage exit 1 fi umask 077 set -e name=$2 newgid=$3 expr "$newgid" : '^[1-9][0-9]*' > /dev/null 2>&1 || ( echo \""$newgid"\" is not a valid gid usage exit 1 ) oldgid=`/usr/bin/id $name | sed -e 's/^.*gid=//' -e 's/(.*//'` 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 gid=$newgid "[name=$name]",passwd.org_dir $DO nistbladm -m public_data=$newgid \ "[cname=$name.$domain.,auth_type=LOCAL]",cred.org_dir ) || \ echo user \"$name\" not found