The compiler is gcc version 3.4.5, from blastwave.
Got the sources for:
zlib-1.2.3
openssl-0.9.8d
openssh-4.5.1
Untar them all and apply the chroot patch “openssh-4.5p1-sshjail.patch” to openssh-4.5.1
Build them in that order.
To build zlib do:
# ./configure –prefix=/opt/acsssh –shared
# make && make install
To build openssl:
# ./config shared –prefix=/opt/acsssh
# make && make install
To build openssh
#./configure –with-pam –prefix=/opt/acsssh –with-ssl-dir=/opt/acsssh –with-zlib=/opt/acsssh
# make && make install
To build the chrooted jail i modded a script, jail.ksh, with contents:
#!/usr/bin/ksh
JAILUSER=juser
JAILGROUP=jgroup
echo “deleting previous structures”
userdel -r $JAILUSER
groupdel $JAILGROUP
rm -fR /export/home/jail
echo ” deleted”
SDIR=opt/acsssh
/usr/sbin/groupadd $JAILGROUP
mkdir -p /export/home/jail
chown root:$JAILGROUP /export/home/jail
chmod 750 /export/home/jail
/usr/sbin/useradd -g $JAILGROUP -c “Jail user $JAILUSER” -d /export/home/jail/$JAILUSER/export/home/$JAILUSER -s /bin/sh $JAILUSER
mkdir -p /export/home/jail/$JAILUSER
202/433
chown $JAILUSER:$JAILGROUP /export/home/jail/$JAILUSER
cd /export/home/jail/$JAILUSER
mkdir etc
mkdir bin
mkdir usr
mkdir usr/bin
mkdir -p $SDIR/bin
mkdir -p $SDIR/lib
mkdir -p $SDIR/sbin
mkdir -p $SDIR/etc
mkdir -p $SDIR/ssl/lib
mkdir -p $SDIR/libexec
mkdir usr/lib
mkdir usr/platform
mkdir usr/platform/`uname -i`
mkdir usr/platform/`uname -i`/lib
mkdir -p usr/platform/sun4u/lib/sparcv9
mkdir -p platform/sun4u/lib/sparcv9
mkdir lib
mkdir dev
mkdir devices
mkdir devices/pseudo
cd /export/home/jail/$JAILUSER
APPS=’bin/cp bin/ls bin/mkdir bin/mv bin/pwd bin/rm bin/rmdir bin/sh’
for i in $APPS; do
cp /$i ./$i
LIBS=`ldd ./$i | awk ‘{print $3}’`
for l in $LIBS; do
if [[ ! -d ./`dirname $l` ]]; then
mkdir ./`dirname $l` > /dev/null
fi
cp $l .$l
done
done
cd /export/home/jail/$JAILUSER/devices/pseudo
mknod mm@0:zero c 13 12
mknod mm@0:null c 13 2
cd /export/home/jail/$JAILUSER/dev
ln -s ../devices/psuedo/mm@0:zero zero
ln -s ../devices/pseudo/mm@0:null null
cd /export/home/jail/$JAILUSER
BINS=”lib/ld.so. 1 $SDIR/bin/ssh $SDIR/libexec/sftp-server $SDIR/sbin/sshd $SDIR/lib/libz.so
$SDIR/lib/libcrypto.so.0.9.8 usr/lib/ld.so.1 usr/lib/nss_files.so.1 platform/sun4u/lib/libc_psr.so.1
platform/sun4u/lib/sparcv9/libc_psr.so.1″
for i in $BINS; do
cp /$i ./$i
done
mkdir -p /export/home/jail/$JAILUSER/export/home/$JAILUSER
chown $JAILUSER:$JAILGROUP /export/home/jail/$JAILUSER/export/home/$JAILUSER
touch /export/home/jail/$JAILUSER/etc/passwd
touch /export/home/jail/$JAILUSER/etc/group
echo “$JAILUSER:x:`/usr/xpg4/bin/id -u $JAILUSER`:`/usr/xpg4/bin/id -g
$JAILUSER`::/export/home/$JAILUSER:/bin/sh” > /export/home/jail/$JAILUSER/etc/passwd
203/433
echo “$JAILGROUP::`/usr/xpg4/bin/id -g $JAILUSER`:$JAILUSER” > /export/home/jail/$JAILUSER/etc/group
echo “done!”
here
!
204/433