1 |
< |
#!/usr/local/bin/bash |
1 |
> |
#!/usr/bin/env bash |
2 |
|
# Douglas Thrift |
3 |
|
# |
4 |
|
# CCS Computer Science |
5 |
|
# |
6 |
|
# Add User |
7 |
|
|
8 |
< |
LDAPSEARCH='/usr/local/bin/ldapsearch' |
9 |
< |
SED='/usr/bin/sed' |
10 |
< |
LDAPADD='/usr/local/bin/ldapadd' |
11 |
< |
SLAPPASSWD='/usr/local/sbin/slappasswd' |
12 |
< |
DATE='/bin/date' |
13 |
< |
LDAPMODIFY='/usr/local/bin/ldapmodify' |
14 |
< |
SMBPASSWD='/usr/local/bin/smbpasswd' |
8 |
> |
source '/ccs/bin/common.sh' |
9 |
|
|
10 |
< |
BASE='dc=ccs,dc=ucsb,dc=edu' |
11 |
< |
SECRET='/ccs/etc/secret' |
10 |
> |
ID=$((`$ldapsearch -b "ou=People,$BASE" -LLL -S 'uidNumber' 'uidNumber' \ |
11 |
> |
| $sed -Ee 's/^uidNumber: (1[0-9]{3})$/\1/p;d' | $tail -n 1` + 1)) |
12 |
|
|
13 |
< |
ID=$((`$LDAPSEARCH -b "ou=People,$BASE" -LLL -S 'uidNumber' 'uidNumber' \ |
20 |
< |
| $SED -Ee 's/^uidNumber: (1[0-9]{3})$/\1/p;d' | tail -n 1` + 1)) |
21 |
< |
|
22 |
< |
$LDAPADD -D "uid=root,ou=People,$BASE" -x -y $SECRET <<EOF |
13 |
> |
$ldapadd -D "uid=root,ou=People,$BASE" -x -y $SECRET <<EOF |
14 |
|
dn: uid=$USER,ou=People,$BASE |
15 |
|
objectclass: top |
16 |
|
objectclass: account |
17 |
|
objectclass: posixAccount |
18 |
+ |
objectclass: shadowAccount |
19 |
|
objectclass: ucsbCcsLoginShells |
20 |
|
objectclass: sambaSamAccount |
21 |
|
cn: $NAME |
23 |
|
uidNumber: $ID |
24 |
|
gidNumber: $ID |
25 |
|
homeDirectory: /home/$USER |
26 |
< |
userPassword: `$SLAPPASSWD -T $FILE` |
26 |
> |
userPassword: `$slappasswd -T $FILE` |
27 |
|
ucsbCcsFreebsd: /usr/local/bin/bash |
28 |
|
ucsbCcsLinux: /bin/bash |
29 |
|
ucsbCcsDarwin: /bin/bash |
30 |
< |
sambaPwdLastSet: `$DATE '+%s'` |
30 |
> |
sambaPwdLastSet: `$date '+%s'` |
31 |
|
sambaAcctFlags: [U ] |
32 |
|
sambaSID: S-1-5-21-3739982181-3886045993-82308153-$ID |
33 |
|
sambaPrimaryGroupSID: S-1-5-21-3739982181-3886045993-82308153-$((ID + 1000)) |
42 |
|
sambaGroupType: 4 |
43 |
|
EOF |
44 |
|
|
45 |
< |
$LDAPMODIFY -D "uid=root,ou=People,$BASE" -x -y $SECRET <<<"`$LDAPSEARCH -b \ |
46 |
< |
"ou=Group,$BASE" -LLL 'cn=wheel' | $SED -e "s/^$/memberUid: $USER/"`" |
45 |
> |
$ldapmodify -D "uid=root,ou=People,$BASE" -x -y $SECRET <<<"`$ldapsearch -b \ |
46 |
> |
"ou=Group,$BASE" -LLL 'cn=wheel' | $sed -e "s/^$/memberUid: $USER/"`" |
47 |
|
|
48 |
< |
$SMBPASSWD -s $USER |
48 |
> |
$smbpasswd -s $USER |