知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

利用openssh实现chroot监牢

发布时间:2014-09-05 15:48:18作者:知识屋


利用openssh实现chroot监牢
 
我们不想让SSH 登陆的用户随意浏览我系统的文件,只给他固定在指定地方活动。
 
环境:Red Hat Enterprise Linux Server release 6.2
 
openssh 需要4.7p 以上版本
 
建立一个允许ssh的登陆用户
 
[root@localhost ~]# useradd  gao
 
更改用户的密码  www.zhishiwu.com  
 
[root@localhost ~]# passwd gao
Changing password for user gao.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
建立chroot目录
 
[root@localhost ~]# mkdir /vm/chroot
 
切换到建好的目录下,再创建登陆需要的目录结构
 
[root@localhost chroot]# mdkir bin home lib64
 
把gao用户的主目录拷贝到刚刚建好的home下
 
[root@localhost chroot]# cp -r /home/gao/ /vm/chroot/home/
 
拷贝可执行程序和登陆bash,参考拷贝执行程序脚本123.sh
 
[root@localhost chroot]# cd bin/
 
[root@localhost bin]# cat 123.sh
#!/bin/bash
cmd="bash touch more less awk sed vim mkdir"
for i in $cmd
do
        a=`which $i`
        cp $a ./
done
命令可以自行添加  www.zhishiwu.com  
 
再拷贝执行依赖的文件,参考拷贝依赖文件脚本456.sh
 
[root@localhost bin]# cd ../lib64/
 
[root@localhost lib64]# cat 456.sh
#!/bin/bash
cmd="touch more less awk sed vim mkdir"
for i in $cmd
do
        ldd `which $i` |awk '{print $3}'|while read a ;do cp $a ./;done
done
全部拷贝完成后修改ssh 的配置文件  www.zhishiwu.com  
 
[root@localhost lib64]# vim /etc/ssh/sshd_config
 
在其最后加上
 
Match User gao
ChrootDirectory /vm/chroot
 
重启SSH服务
 
[root@localhost lib64]# /etc/init.d/sshd restart
 
使用其他机器登陆测试  www.zhishiwu.com  
 
[root@perl ~]# ssh gao@10.1.100.103
gao@10.1.100.103's password:
Last login: Wed Oct 10 11:54:00 2012 from 10.1.100.104
-bash-4.1$ cd /
-bash-4.1$ pwd
/
-bash-4.1$ ls
bin  home  lib64
-bash-4.1$
 
简单的chroot 已经完成
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜