~vcs-imports/samba/main

« back to all changes in this revision

Viewing changes to source/smbadduser.in

  • Committer: jerry
  • Date: 2006-07-14 21:48:39 UTC
  • Revision ID: vcs-imports@canonical.com-20060714214839-586d8c489a8fcead
gutting trunk to move to svn:externals

Show diffs side-by-side

added added

removed removed

Lines of Context:
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