• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/router/samba-3.0.25b/source/
1#!/bin/csh
2#
3# smbadduser - Written by Mike Zakharoff
4#
5
6prefix=/usr
7exec_prefix=${prefix}
8LIBDIR=/etc
9PRIVATEDIR=/etc/samba
10CONFIGDIR=/etc
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