2 ################################################################################
5 # RCS: $Header: add_moa,v 1.4 98/03/19 13:52:49 fong Exp $
6 # Description: This script adds a new person to moa
7 # Author: Andrew DeFaria, California Language Labs
8 # Created: Mon May 19 15:56:06 PDT 1997
10 # Language: Korn Shell
12 # (c) Copyright 2001, Andrew@DeFaria.com, all rights reserved
14 ################################################################################
15 # Set me to command name
19 adm_base=${adm_base:-$HOME/adm}
22 adm_fpath=${adm_fpath:-$adm_base/functions}
28 print -u2 "Usage: $me -username <username> -fullname <fullname>"
29 print -u2 "\t-phone <phone> -homeserver <homeserver> -shell <shell>"
35 co -q -l $master_passwd
38 error "Unable to checkout $master_passwd"
42 trap cancel_checkout INT ERR
44 if [ "$shell" = "tcsh" ]; then
50 uid=$(/app/newuid) # generate unique uid
51 print "$username:*:$uid:$gid:$fullname,42U,$phone,_MoA_:/nfs/$homeserver/data/home/$username:$shell" >> $master_passwd
54 error "Unable to add entry to $master_passwd"
58 ci -u -q -m"Added $fullname" $master_passwd
60 error "Unable to check in new master password file!"
69 function cancel_checkout {
70 info "Canceling checkout"
71 rcs -q -u $master_passwd
72 chmod -w $master_passwd
77 function user_exists {
78 grep -ve "^#" $master_passwd | cut -f1 -d: |
79 grep "$username" >/dev/null 2>&1
84 if [ -d /net/bismol/app/admin ]; then
85 admin_root=/net/bismol/app/admin
86 elif [ -d /net/hpclbis/app/admin ]; then
87 admin_root=/net/hpclbis/app/admin
88 elif [ -d /nfs/bismol/app/admin ]; then
89 admin_root=/nfs/bismol/app/admin
90 elif [ -d /nfs/hpclbis/app/admin ]; then
91 admin_root=/nfs/hpclbis/app/admin
92 elif [ -d /nfs/hpclbis/root/app/admin ]; then
93 admin_root=/nfs/hpclbis/root/app/admin
95 error "Internal error: Unable to ascertain admin_root!"
99 master_passwd=$admin_root/lib/master_passwd
107 while [ $# -ge 1 ]; do
114 if [ $# -le 1 ]; then
115 error "Username not specified!"
123 if [ $# -le 1 ]; then
124 error "Full name not specified!"
132 if [ $# -le 1 ]; then
133 error "Phone not specified!"
141 if [ $# -le 1 ]; then
142 error "Home machine not specified!"
150 if [ $# -le 1 ]; then
151 error "Shell not specified!"
159 error "Unknown parameter encounter: \"$1\""
166 if [ "_$username" = "_" -o \
167 "_$fullname" = "_" -o \
169 "_$homeserver" = "_" -o \
170 "_$shell" = "_" ]; then
171 error "Missing parameter"
175 #if $(user_exists); then
176 #error "$username already exists in the master password file"
179 if [ $? -eq 0 ]; then
180 info "Account for $fullname has been successfully created"
182 error "Problems encountered trying to create account for $fullname"