1#!/bin/csh 2# 3# smbadduser - Written by Mike Zakharoff 4# 5 6prefix=@prefix@ 7exec_prefix=@exec_prefix@ 8LIBDIR=@libdir@ 9PRIVATEDIR=@privatedir@ 10CONFIGDIR=@configdir@ 11 12unalias * 13set path = ($path /usr/bin) 14 15set smbpasswd = $PRIVATEDIR/smbpasswd 16set user_map = $CONFIGDIR/smbusers 17 18# 19# Set to site specific passwd command 20# 21set passwd = "getent passwd" 22#set passwd = "niscat passwd.org_dir" 23#set passwd = "ypcat passwd" 24 25set line = "----------------------------------------------------------" 26if ($#argv == 0) then 27 echo $line 28 echo "Written: Mike Zakharoff email: michael.j.zakharoff@boeing.com" 29 echo "" 30 echo " 1) Updates $smbpasswd" 31 echo " 2) Updates $user_map" 32 echo " 3) Executes smbpasswd for each new user" 33 echo "" 34 echo "smbadduser unixid:ntid unixid:ntid ..." 35 echo "" 36 echo "Example: smbadduser zak:zakharoffm johns:smithj" 37 echo $line 38 exit 1 39endif 40 41touch $smbpasswd $user_map 42set new = () 43foreach one ($argv) 44 echo $one | grep ':' >& /dev/null 45 if ($status != 0) then 46 echo "ERROR: Must use unixid:ntid like -> zak:zakharoffm" 47 continue 48 endif 49 set unix = `echo $one | awk -F: '{print $1}'` 50 set ntid = `echo $one | awk -F: '{print $2}'` 51 52 set usr = `eval $passwd | awk -F: '$1==USR {print $1}' USR=$unix` 53 if ($#usr != 1) then 54 echo "ERROR: $unix Not in passwd database SKIPPING..." 55 continue 56 endif 57 set tmp = `cat $smbpasswd | awk -F: '$1==USR {print $1}' USR=$unix` 58 if ($#tmp != 0) then 59 echo "ERROR: $unix is already in $smbpasswd SKIPPING..." 60 continue 61 endif 62 63 echo "Adding: $unix to $smbpasswd" 64 /usr/bin/smbpasswd -a -n $unix 65 if ($unix != $ntid) then 66 echo "Adding: {$unix = $ntid} to $user_map" 67 echo "$unix = $ntid" >> $user_map 68 endif 69 set new = ($new $unix) 70end 71 72# 73# Enter password for new users 74# 75foreach one ($new) 76 echo $line 77 echo "ENTER password for $one" 78 smbpasswd $one 79end 80