利用openssh实现chroot监牢

我们不想让SSH 登陆的用户随意浏览我系统的文件只给他固定在指定地方活动。

环境:Red Hat Enterprise Linux Server release 6.2

openssh 需要4.7p 以上版本

建立一个允许ssh的登陆用户

[root@localhost ~]# useradd  gao

更改用户的密码

[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
命令可以自行添加

再拷贝执行依赖的文件,参考拷贝依赖文件脚本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 的配置文件

[root@localhost lib64]# vim /etc/ssh/sshd_config

在其最后加上

Match User gao
ChrootDirectory /vm/chroot

重启SSH服务

[root@localhost lib64]# /etc/init.d/sshd restart

使用其他机器登陆测试

[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 已经完成








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值