JHT ===> Added smbadduser contributed by Mike Zakharoff.
authorJohn Terpstra <jht@samba.org>
Thu, 9 Oct 1997 11:24:39 +0000 (11:24 +0000)
committerJohn Terpstra <jht@samba.org>
Thu, 9 Oct 1997 11:24:39 +0000 (11:24 +0000)
(This used to be commit 135d054e831cd0f5962acc05d03b38360b73827e)

source3/smbadduser [new file with mode: 0755]

diff --git a/source3/smbadduser b/source3/smbadduser
new file mode 100755 (executable)
index 0000000..789cc92
--- /dev/null
@@ -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