1 | #!/bin/csh
|
---|
2 | #
|
---|
3 | # smbadduser - Written by Mike Zakharoff
|
---|
4 | #
|
---|
5 |
|
---|
6 | prefix=@prefix@
|
---|
7 | exec_prefix=@exec_prefix@
|
---|
8 | LIBDIR=@libdir@
|
---|
9 | PRIVATEDIR=@privatedir@
|
---|
10 | CONFIGDIR=@configdir@
|
---|
11 |
|
---|
12 | unalias *
|
---|
13 | set path = ($path /usr/bin)
|
---|
14 |
|
---|
15 | set smbpasswd = $PRIVATEDIR/smbpasswd
|
---|
16 | set user_map = $CONFIGDIR/smbusers
|
---|
17 |
|
---|
18 | #
|
---|
19 | # Set to site specific passwd command
|
---|
20 | #
|
---|
21 | set passwd = "getent passwd"
|
---|
22 | #set passwd = "niscat passwd.org_dir"
|
---|
23 | #set passwd = "ypcat passwd"
|
---|
24 |
|
---|
25 | set line = "----------------------------------------------------------"
|
---|
26 | if ($#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
|
---|
39 | endif
|
---|
40 |
|
---|
41 | touch $smbpasswd $user_map
|
---|
42 | set new = ()
|
---|
43 | foreach 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)
|
---|
70 | end
|
---|
71 |
|
---|
72 | #
|
---|
73 | # Enter password for new users
|
---|
74 | #
|
---|
75 | foreach one ($new)
|
---|
76 | echo $line
|
---|
77 | echo "ENTER password for $one"
|
---|
78 | smbpasswd $one
|
---|
79 | end
|
---|