Tuesday, September 21, 2010

admin stuff: mass user creation

===========
##myuseradd.sh
#!/bin/bash

#make group id
# groupadd -g 2009 grid
GROUPID=2009
GROUP=grid
SHELL=/bin/bash
#SKEL_DIR=/etc/skel

#webmin module
# for disk quota. Apply same value of the disk quota to one group
#MODELUSER=quotamodel

# to create a personal web page directory
# /etc/skel
# flag m n flag k not working yet
mkdir -p /home/tmp/$1
cp -rf /root/skel/* /root/skel/.bash* /root/skel/.ssh/ /home/tmp/$1
chmod 755 /home/tmp/$1 -R
chmod 600 /home/tmp/$1/.ssh/authorized_keys /home/tmp/$1/.ssh/id_rsa
chmod 644 /home/tmp/$1/.ssh/known_hosts /home/tmp/$1/.ssh/id_rsa.pub
useradd -c “$3 $4 $5 $6″ -s $SHELL -g $GROUPID -d /home/tmp/$1 $1

#install sth ‘expect’ package related
autopasswd $1 $2
chown $1.$GROUP /home/tmp/$1 -R

# Set a user quota to one group (group id = 2009)
#edquota -p $MODELUSER `awk -F: ‘$3 > 499 && $4==2009{print $1}’ /etc/passwd`
===========

===========
##myuserdel.sh
#!/bin/bash
# -r option removes both the home directory and the mail spool

#rm -fr /home/tmp/$1
userdel -r $1
===========

=======
##autopasswd
#!/usr/bin/expect -f

# wrapper to make passwd(1) be non-interactive

# username is passed as 1st arg, passwd as 2nd

set password [lindex $argv 1]
spawn passwd [lindex $argv 0]
expect {
-re “password:” {sleep 1; send “$password\r”; exp_continue}
-re “password:” {sleep 1; send “$password\r”;}
}

=======
==========
frs
1 5103100006 ARDIONO INDAR S
2 5105100061 EKO FAJAR YANUWARSA
3 5105100074 YASFIN FAJRI
4 5105100151 I KETUT WIRATANAYA
5 5105100152 YAZID HERDIANTO
6 5106100001 BHAGAS ARGA SAPUTRA
7 5106100007 ACHMAD FADHLIYANSYAH
8 5106100014 ANDRY SEVTIAWAN
9 5106100015 DEGI PANJU ANANDIA
10 5106100016 JADID PRATAMA YUGA NUGRAHA
=========
$ awk ‘{ print $2 ” ” $2 ” ” $3 ” ” $4 ” ” $5 ” “}’ frs > getFull
=========
#getFull
5103100006 5103100006 ARDIONO INDAR S
5105100061 5105100061 EKO FAJAR YANUWARSA
5105100074 5105100074 YASFIN FAJRI
5105100151 5105100151 I KETUT WIRATANAYA
5105100152 5105100152 YAZID HERDIANTO
5106100001 5106100001 BHAGAS ARGA SAPUTRA
5106100007 5106100007 ACHMAD FADHLIYANSYAH
5106100014 5106100014 ANDRY SEVTIAWAN
5106100015 5106100015 DEGI PANJU ANANDIA
5106100016 5106100016 JADID PRATAMA YUGA
5106100020 5106100020 MUHAMMAD IRFAN
5106100026 5106100026 TAUFAN PRABU RAHARDJO
5106100028 5106100028 FERBIANTO
5106100030 5106100030 SATRIA PRASAMYA
5106100032 5106100032 FAJRI ARYUANDA
5106100034 5106100034 DIAN PERDANA
=========
cat getFull |while read line; do myuseradd $line; done
cat getFull |while read line; do myuserdel $line; done

No comments:

Post a Comment