大连Linux/Unix高端就业、认证培训的领导者。
分类: LINUX
2013-05-14 12:46:48
使用chroot将SSH用户限制在自己的宿主目录中
为了提高系统的安全性,有必要将普通用户限制在宿主目录中。即便黑客获得普通用户的口令,那么也不能获得root的权限。方法如下:
1、 下载jailkit工具(该工具能自动的将所有需要的应用程序和库文件拷贝到chroot定义的目录中)
2、 用root登录系统,执行wget 下载
3、 安装jailkit
tar xvzf jailkit-2.11.tar.gz
cd jailkit.2.11
./configure
make
make install
如果提示编译器不存在,用yum安装gcc。
4、 创建chroot虚拟根目录。
mkdir /home/chroot
chown root.root /home/chroot
5、 使用jailkit工具生成虚拟根目录下的相关目录和拷贝相关的文件和库文件。
Jk_init –v /home/chroot basicshell
Jk_init –v /home/chroot editors
Jk_init –v /home/chroot extendedshell
Jk_init –v /home/chroot netutils
Jk_init –v /home/chroot ssh
.
.
.
6、 拷贝相应的文件到chroot目录中。
cp –a /usr/sbin/* /home/chroot/usr/sbin 如果该目录不存在,使用mkdir命令创建。
cp –a /usr/bin/id /home/chroot/usr/bin
cp –a /bin/bash /home/chroot/usr/sbin
7、 增加普通用户,并转换为chroot用户(注意红色部分)。
useradd userA
passwd userA
mkdir /home/chroot/home/userA
chown –R userA.userA /home/chroot/home/userA
cp /etc/skel/.bashrc /home/chroot/home/userA 拷贝环境模板文件到用户宿主目录。
vim /etc/passwd
userA:x:502:502::/home/chroot/./home/userA:/bin/sbin/jk_chrootsh
Jk_jailuser –m –j /home/chroot userA
jk_jailuser -m -j /home/chroot/home/userA userA
/home/chroot/home/userA does not exist
enter jail directory: /home/chroot
home directory /home/chroot/./home/userA is already inside the jail
修改/home/chroot/etc/passwd文件,确认正确的增加了userA的用户,并且修改shell环境如下:
userA:x:502:502::/home/userA:/usr/sbin/bash
然后尝试使用ssh 连接测试userA用户的登录是否是chroot。
ssh