Friday, March 2, 2007



Apache Tomcat is the servlet container that is used in the official Reference Implementation for the Java Servlet and JavaServer Pages technologies. The Java Servlet and JavaServer Pages specifications are developed by Sun under the Java Community Process.

Packages required

Java 2 SDK, Standard Edition v1.4.1-01

Ant 1.6.5

JavaBeans Activation Framework



Installing Java 2 SDK

Untar/unzip j2sdk package

$cp j2sdk1.4.1 /usr/local/

$ln –s j2sdk1.4.1 j2sdk


$export JAVA_HOME=/usr/local/j2sdk

add PATH for java binary

$export PATH=$PATH:$JAVA_HOME/bin

verify javac command gives some output

root@tux:~# javac

Usage: javac

where possible options include:

-g Generate all debugging info

-g:none Generate no debugging info

-g:{lines,vars,source} Generate only some debugging info

Installing ANT

Untar ant-.tar.gz by

$tar xvzf ant-.tar.gz

move untared directory this to /usr/local/ant

$mv ant- /usr/local/ant


export ANT_HOME=/usr/local/ant

add PATH for ant binary

export PATH=$PATH:$ANT_HOME/bin

verify ant binary is on PATH

root@tux:~# ant

Buildfile: build.xml does not exist! (don’t worry about this message, this was just to check ant in on path or not)

Installing JavaBeans Activation Framework


$cd jaf-

copy activation.jar to /usr/local/j2sdk/lib

$cp activation.jar /usr/local/j2sdk/lib

set CLASSPATH for this jar

$export $CLASSPATH=/usr/local/j2sdk/lib/activation.jar

Installing Javamail


$cd javamail-

copy mail.jar to /usr/local/j2sdk/lib

$cp mail.jar /usr/local/j2sdk/lib

set CLASSPATH for this jar

export $CLASSPATH=$CLASSPATH:/usr/local/j2sdk/lib/mail.jar

All set for tomcat

Just again verify all environment variables

$echo $JAVA_HOME

$echo $ANT_HOME

$echo $PATH


now we have two options to install tomcat

1. using source

2. using binary

Tomcat Installation from source

Untar source

$tar xvzf jakarta-tomcat-5.x.x-src.tar.gz

$cd jakarta-tomcat-5.x.x

start building source

this build process is controlled by

add this content to it:
# ----- Proxy setup -----
# Uncomment if using a proxy server.

# ----- Default Base Path for Dependent Packages -----
# Replace this path with the directory path where
# dependencies binaries should be downloaded.

$ant build

Buildfile: build.xml



once this is done without any errors, copy build to appropriate location

$cp jakarta-tomcat-5.x.x/jakarta-tomcat-5/build /usr/local/tomcat

Installation done from source

Tomcat Installation from binary

Download and untar jakarta-tomcat-5.x.x.tar.gz

$tar xvzf jakarta-tomcat-5.x.x.tar.gz

move untared directory to /usr/local/tomcat

$mv jakarta-tomcat-5.x.x /usr/local/tomcat/

Installation done using binary.

Configuring Tomcat

Optionally set CATALINA_HOME to /usr/local/tomcat/

$export $CATALINA_HOME=/usr/local/tomcat/

make changes in configuration, go to conf dir

$cd /usr/local/tomcat/conf

to change port of tomcat edit server.xml Connector port="8080" tag

you can add various roles and assign these roles to different users by making changes in tomcat-users.xml






you can write a init script for tomcat startup/shutdown


export JAVA_HOME=/usr/local/j2sdk

export PATH=$PATH:/usr/local/j2sdk/bin/

case "$1" in


echo -n "Starting tomcat: "




echo -n "Shutting down tomcat: "




echo "Usage: $0 {start|stop}"

exit 1


exit 0

copy this content to /etc/init.d/tomcat.server

give execute permission

chmod +x /etc/init.d/tomcat.server

on debian do

$update-rc.d tomcat.server defaults

Testing setup

Start tomcat

root@tux:~# /etc/init.d/tomcat.server start

Starting tomcat: Using CATALINA_BASE: /usr/local/tomcat

Using CATALINA_HOME: /usr/local/tomcat

Using CATALINA_TMPDIR: /usr/local/tomcat/temp

Using JAVA_HOME: /usr/local/jdk

Check in process list for successful startup

1834 pts/6 S 0:15 /usr/local/jdk/bin/java -Djava.endorsed.dirs=/usr/local/tomcat/common/endorsed -classpath /usr/loc

1835 pts/6 S 0:00 /usr/local/jdk/bin/java -Djava.endorsed.dirs=/usr/local/tomcat/common/endorsed -classpath /usr/loc

1836 pts/6 S 0:01 /usr/local/jdk/bin/java -Djava.endorsed.dirs=/usr/local/tomcat/common/endorsed -classpath /usr/loc

also verify it its listening on port specified in server.xml

root@tux:~# netstat -nap | grep java

tcp 0 0* LISTEN 11507/java

Shutdown tomcat

root@tux:~# /etc/init.d/tomcat.server stop

Shutting down tomcat: Using CATALINA_BASE: /usr/local/tomcat

Using CATALINA_HOME: /usr/local/tomcat

Using CATALINA_TMPDIR: /usr/local/tomcat/temp

Using JAVA_HOME: /usr/local/jdk

Next open a browser and type http://:

For eg http://machine:8080

You will see tomcat page

You can admin tomcat from http://:/admin



manager url http://

give username/password specified in tomcat-users.xml with admin/manager role





Thursday, March 1, 2007


$(cat /etc/passwd|egrep zentyl\|sysadmin |cut -d":" -f6); do
$kill `ps auxww | grep pmta | egrep -v grep | awk '{print $2}'`; service pmta start
$sar -r 60 2000|awk '{print $5}'|sed -e /^$/d|sed '/^%/d'|head -n1
$kill `ps auxww | grep perl | egrep -v grep | awk '{print $2}'`; service mysql restart
$find /Public/ -name *.mp3 -exec rm {} \;
kill `ps auxww | grep perl awk '{print $2}'`

kill `ps auxww | grep mysql | egrep -v grep | awk '{print $2}'`

du -h --max-depth=1 /Public/|awk '{print $1}'
search and replace all :1,$s///g
find /home -type f -iname '*.php' -exec grep -l -i "c99_buff_prepare" {} \;

setsebool -P ftpd_disable_trans 1

LINKS: cronjob


HACKER'S PAGE - report24/default pass
RooT66 -
ShellOracle -
b0f -
Hardbeat ( just has a lame page at --iptablesx - apf






shell scripting:

SSL Certificate generation:

openssl genrsa -des3 -out cybercells.key
openssl req -new -key cybercells.key cybercells.csr


User Name:
Password: hallticket
Oink Code: dedf1dbb630464a56cb5494b856a0ffc15df9d90

Example for snort 2.3:
Change: url =

How to use snort:

Network Intrusion Detection (NIDS) mode snort -dev -l ./log -h
Reading the Snort logfile: snort -r ./Piglet/logfile
Running Snort in Packet Logger mode: snort -dev -l ./Piglet
A Snort monitoring rule: content: [!] "content_string";
A non-payload detection rule: alert ip any any -> any any (ip_proto:icmp;)
A rule to detect a particular string: alert tcp any any -> any any 21 (content:"user root";)

Kernel upgradation:
make menuconfig
select the features u want in ur kernel
exit the menuconfig and come on to the shell saving the new configuration
make dep
make bzImage
make modules
make modules_install
ur new kernel is in the directory ./arch/i386/boot/bzImage copy it in the directory /boot/
edit ur bootloader so that u may boot the new kernel


1. Check current version of kernel on server using command uname -a, if
its 2.4 then download latest release for 2.4 please do not download 2.6
You can download kernel from
if its 2.4 then, you can
check latest stable release from

2. wget kernel in /usr/local/src
3. untar it using tar -zxvf linux-2.x-xxxx
4. cd linux-2.x-x
5. make clean
6. make mrproper
7. If kernel is 2.4 then copy current version of config file from
/boot/config-’uname-r’ as .config in /usr/local/src/linux-2.x-xx, if
kernel is 2.6 then you do not need to make .config in current directory
8. make menuconfig, select and check if all required modules are selected,
also make sure that your kernel supports multiple cpu
you can check it and select from processor type, if it displays support
for more then 2 kernel then you do not need to modify anything there.
9. save configuration and exit
10. make modules if kernel is 2.4 then need to run make dep before running
make modules
11. make modules_install
12. make
13. if 2.4 kernel then need to run make bzImage and then make install, you
can directly run make install if kernel is 2.6
15. now make sure bootloader and modify default kernel accordingly
grubby –bootloader-probe if it displays grub then edit /etc/grub.conf and
if its lilo then edit lilo.conf and make compiled kernel as default kernel
16. If your boot loader is lilo then you need to run 9one more command
/sbin/lilo which will update lilo
17. now its time to reboot server ( fedora)