Doporučuji:
Galerie fotek
Notebooky
Webdesign Praha
www.eprdel.cz
www.root.cz
Lumimont
A
# yum install gcc
# yum install openssl-devel
# yum install pam-devel
# yum install rpm-build
Stahnout OpenSSH portable vcetne GPG :
# wget http://ftp.bit.nl/mirror/openssh/portable/openssh-5.3p1.tar.gz
# wget http://ftp.bit.nl/mirror/openssh/portable/openssh-5.3p1.tar.gz.asc
# wget -O- http://ftp.bit.nl/mirror/openssh/portable/DJM-GPG-KEY.asc | gpg --import
# gpg openssh-5.3p1.tar.gz.asc
gpg: Podpis vytvořen So 26. září 2009, 08:31:43 CEST pomocí klíče DSA s ID uživatele 86FF9C48
6FF 9C48
gpg: Dobrý podpis od "Damien Miller (Personal Key) <djm@mindrot.org>"
gpg: VAROVÁNÍ: Tento klíč není certifikován důvěryhodným podpisem!
gpg: Nic nenaznačuje tomu, že tento podpis patří vlastníkovi klíče.
Primární fingerprint klíče: 3981 992A 1523 ABA0 79DB FC66 CE8E CB03 8
Nyni je potreba si vytvorit RPM balicek a nainstalovat OpenSSH:
#
tar zxvf openssh-5.2p1.tar.gz
# cp openssh-5.3p1/contrib/redhat/openssh.spec /usr/src/redhat/SPECS/
# cp openssh-5.3p1.tar.gz /usr/src/redhat/SOURCES/
# cd /usr/src/redhat/SPECS
# perl -i.bak -pe 's/^(%define no_(gnome|x11)_askpass)\s+0$/$1 1/' openssh.spec
# rpmbuild -bb openssh.spec
# cd /usr/src/redhat/RPMS/`uname -i`
# ls -l
celkem 988
-rw-r--r-- 1 root root 432700 úno 18 15:41 openssh-clients-5.3p1-1.i386.rpm
-rw-r--r-- 1 root root 270343 úno 18 15:41 openssh-server-5.3p1-1.i386.rpm
-rw-r--r-- 1 root root 277113 úno 18 15:41 openssh-5.3p1-1.i386.rpm
# rpm -Uvh openssh*rpm
Preparing... ########################################### [100%]
1:openssh ########################################### [ 33%]
2:openssh-clients ########################################### [ 67%]
3:openssh-server ########################################### [100%]
# /etc/init.d/sshd restart
mkdir /home/chroot/
chmod 755 /home/chroot/
chown root:root /home/chroot/
mkdir /home/chroot/home/
cd /home/chroot
mkdir etc
mkdir bin
mkdir lib
mkdir usr
mkdir usr/bin
mkdir dev
mknod dev/null c 1 3
mknod dev/zero c 1 5
APPS="/bin/bash /bin/ls /bin/mkdir /bin/mv /bin/pwd /bin/rm /usr/bin/id /usr/bin/ssh /bin/ping /usr/bin/dircolors"
for prog in $APPS; do
cp $prog ./$prog
# obtain a list of related libraries
ldd $prog > /dev/null
if [ "$?" = 0 ] ; then
LIBS=`ldd $prog | awk '{ print $3 }'`
for l in $LIBS; do
mkdir -p ./`dirname $l` > /dev/null 2>&1
cp $l ./$l
done
fi
done
Dale nam zbyva nakopirovani potrebych knihoven pro praci ze zakladnimi prikazy a samozdrejme bashem.
cp /lib/libnss_compat.so.2 /lib/libnsl.so.1 /lib/libnss_files.so.2 ./lib/
cp /lib/libtermcap.so.2 /lib/libtermcap.so.2.0.8 ./lib/
cp /lib/libc.so.6 ./lib/
cp /lib/ld-linux.so.2 /lib/ld-2.5.so ./lib/
echo '#!/bin/bash' > usr/bin/groups
echo "id -Gn" >> usr/bin/groups
touch etc/passwd
grep /etc/passwd -e "^root" > etc/passwd
Jelikos delame chroot system jen pro skupinu users, je potreba ji dodat do chrootnoteho systemu
grep /etc/group -e "^root" -e "^users" > etc/group
Aby nam pro skupinu usersfungoval chrootnoty system, je potreba mirne urpavit sshd_config, pridanim techto dvou radku.
Match group users
# chroot members into this directory
# %u gets substituted with the user name:
# ChrootDirectory /home/%u
ChrootDirectory /home/chroot
A ted je jen potreba nezapomenout reboot ssh serveru
/etc/init.d/sshd restart
useradd -s /bin/bash -m -d /home/chroot/./home/testuser -c "testuser" -g users testuser
passwd testuser
grep /etc/passwd -e "^testuser" >> /home/chroot/etc/passwd
grep /etc/group -e "^othergroup" >> /home/chroot/etc/group
ldd /bin/tar
linux-gate.so.1 => (0x00110000)
libacl.so.1 => /lib/libacl.so.1 (0x00d51000)
libselinux.so.1 => /lib/libselinux.so.1 (0x00d30000)
librt.so.1 => /lib/i686/nosegneg/librt.so.1 (0x00d5f000)
libc.so.6 => /lib/i686/nosegneg/libc.so.6 (0x00b54000)
libattr.so.1 => /lib/libattr.so.1 (0x00d4a000)
libdl.so.2 => /lib/libdl.so.2 (0x00c9f000)
libsepol.so.1 => /lib/libsepol.so.1 (0x00cce000)
/lib/ld-linux.so.2 (0x00b36000)
libpthread.so.0 => /lib/i686/nosegneg/libpthread.so.0 (0x00d16000)