diff options
author | John Terpstra <jht@samba.org> | 1997-10-09 11:24:39 +0000 |
---|---|---|
committer | John Terpstra <jht@samba.org> | 1997-10-09 11:24:39 +0000 |
commit | 228cef8d01081e7cac1d90e5b568a19937404245 (patch) | |
tree | ff94bf9b858399738e193e987e73040e0e67bfa1 /source3 | |
parent | f726e5517d5348537e31cf3747344d0abd7028c5 (diff) | |
download | samba-228cef8d01081e7cac1d90e5b568a19937404245.tar.gz samba-228cef8d01081e7cac1d90e5b568a19937404245.tar.bz2 samba-228cef8d01081e7cac1d90e5b568a19937404245.zip |
JHT ===> Added smbadduser contributed by Mike Zakharoff.
(This used to be commit 135d054e831cd0f5962acc05d03b38360b73827e)
Diffstat (limited to 'source3')
-rwxr-xr-x | source3/smbadduser | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/source3/smbadduser b/source3/smbadduser new file mode 100755 index 0000000000..789cc927eb --- /dev/null +++ b/source3/smbadduser @@ -0,0 +1,74 @@ +#!/bin/csh +# +# smbadduser - Written by Mike Zakharoff +# +unalias * +set path = ($path /usr/local/samba/bin) + +set smbpasswd = /usr/local/samba/private/smbpasswd +set user_map = /usr/local/samba/lib/users.map +# +# Set to site specific passwd command +# +#set passwd = "cat /etc/passwd" +#set passwd = "niscat passwd.org_dir" +set passwd = "ypcat passwd" + +set line = "----------------------------------------------------------" +if ($#argv == 0) then + echo $line + echo "Written: Mike Zakharoff email: michael.j.zakharoff@boeing.com" + echo "" + echo " 1) Updates $smbpasswd" + echo " 2) Updates $user_map" + echo " 3) Executes smbpasswd for each new user" + echo "" + echo "smbadduser unixid:ntid unixid:ntid ..." + echo "" + echo "Example: smbadduser zak:zakharoffm johns:smithj" + echo $line + exit 1 +endif + +touch $smbpasswd $user_map +set new = () +foreach one ($argv) + echo $one | grep ':' >& /dev/null + if ($status != 0) then + echo "ERROR: Must use unixid:ntid like -> zak:zakharoffm" + continue + endif + set unix = `echo $one | awk -F: '{print $1}'` + set ntid = `echo $one | awk -F: '{print $2}'` + + set usr = `eval $passwd | awk -F: '$1==USR {print $1}' USR=$unix` + if ($#usr != 1) then + echo "ERROR: $unix Not in passwd database SKIPPING..." + continue + endif + set tmp = `cat $smbpasswd | awk -F: '$1==USR {print $1}' USR=$unix` + if ($#tmp != 0) then + echo "ERROR: $unix is already in $smbpasswd SKIPPING..." + continue + endif + + echo "Adding: $unix to $smbpasswd" + eval $passwd | \ + awk -F: '$1==USR { \ + printf( "%s:%s:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:%s:%s:%s\n", +$1, $3, $5, $6, $7) }' USR=$unix >> $smbpasswd + if ($unix != $ntid) then + echo "Adding: {$unix = $ntid} to $user_map" + echo "$unix = $ntid" >> $user_map + endif + set new = ($new $unix) +end + +# +# Enter password for new users +# +foreach one ($new) + echo $line + echo "ENTER password for $one" + smbpasswd $one +end
\ No newline at end of file |