免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1086 | 回复: 0
打印 上一主题 下一主题

ssh chroot [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-12-21 09:44 |只看该作者 |倒序浏览

                实现步骤如下:
     1.创建用户abc ,主目录为/home/abc
     2.用root用户建立目录 /var/chroot ,  /var/chroot/lib, /var/chroot/bin,/var/chroot/etc,/var/chroot/home/abc
     3. 把/lib 下 libc.so.6,ld-linux.so.2,libdl.so.2,libtermcap.so.2(为ldd /bin/bash的结果) 拷贝到 /var/chroot/lib下
     4. tail -1 /etc/passwd >;/var/chroot/etc/passwd
      
     5. 修改/etc/pam.d/sshd 在末尾加上一句
          session   required    pam_chroot.so
     6.修改/etc/security/chroot.conf
       增加 一行 abc        /var/chroot  保存后,使用abc 通过ssh 登录即可
还有一篇同样的文章。
2.1 构建chroot环境
因为jailkit在当前版本的linux下不能正常运行,而且我们想搭建一个简洁的
chroot环境,这里使用了手动制作:)
2.1.1 使用环境变量,以方便干活
export CHROOT_PATH=/home/chroot_env
2.1.2 创建基本目录
mkdir -p $CHROOT_PATH/{bin,home,usr,lib}
chown -r root.root $CHROOT_PATH
cd $CHROOT_PATH
2.1.3 创建 /bin/bash环境
cp /bin/bash $CHROOT_PATH/bin/bash
for a in $(ldd /bin/bash | awk '{print $3}')
do
[ -e $CHROOT_PATH`dirname $a` ] || mkdir -p $CHROOT_PATH`dirname $a`
cp -f $a $CHROOT_PATH$a;
done
2.1.4 创建 sftp-server 环境
export SFTP_SERVER=`grep sftp /etc/ssh/sshd_config | awk '{print $3}'`
echo $SFTP_SERVER
mkdir -p $CHROOT_PATH/`dirname $SFTP_SERVER`
cp $SFTP_SERVER $CHROOT_PATH$SFTP_SERVER
for a in $(ldd $SFTP_SERVER | awk '{print $3}')
do
[ -e $CHROOT_PATH`dirname $a` ] || mkdir -p $CHROOT_PATH`dirname $a`
cp -f $a $CHROOT_PATH$a;
done
[color="gray"]
chroot环境已经搭建完毕,只有一个bash可供使用
sftp-server,是为了相应用户的sftp登陆的

2.2 配置chroot-openssh
2.2.1 添加或指定享受此待遇的用户,这里是sftp_test
useradd -d /home/sftp_test sftp_test #如果没有用户,指向chroot/home
mv /home/sftp_test $CHROOT_PATH/home/sftp_test
ln -s $CHROOT_PATH/sftp_test /home/sftp_test
passwd sftp_test
[color="gray"]
这里使用了软连接,为了保持chroot环境和实际环境的一致。

2.2.2 修改sshd配置
[vi /etc/ssh/sshd_config]
UsePAM yes
2.2.3 修改sshd.pam配置
[vi /etc/pam.d/sshd]
session    required     pam_chroot.so
2.2.4 修改chroot配置
echo sftp_test   $CHROOT_PATH >> /etc/security/chroot.conf
cat /etc/security/chroot.conf
2.2.5 重新启动
service sshd restart
关键是chroot和ldd的使用。
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/31455/showart_446927.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP