创建chroot环境,限制ssh/sftp的使用

chroot是一个大范围限制登录用户的利器,基本上让登录用户访问不到真实的系统。

但是很难配,无论是网上流行的脚本,还是说明,都有很多缺陷,要命的在于很少有提示信息。

先建立一个/home/chroot目录,这个名字是任意的。

openssh 4.8p1以下应该是不支持chroot,但可以用rssh来支持chroot,非常好用,但难度还是在chroot环境上。

安装rssh,可以用rpm或源码编译,问题都不大,很好配,如果是rpm安装,缺省配置在/etc/rssh.conf

这个配置很容易,配好chrootpath就行,再放开scp/sftp权限。

重要的是chroot的配置

rssh自带一个脚本 mkchroot.sh,可以方便地产生一个chroot环境,但注意,这个环境是不完整的。

1./etc/passwd要精简后放入。/etc/group也一样
2. /lib64/libnss_files.so.2 ,这个文件并没有放入,不知道为什么,但也有可能是 /lib64/libnss_* ,最好全拷入。
3. 创建 /dev/null , mknod -m 666 /home/chroot/dev/null c 1 3 ,如果有就删除重建一下。有些需要,有些不需要
4. 配置syslog, 加参数 "-a /home/chroot/dev/log" , /etc/sysconfig/syslog ,重起syslog服务,就会自动创建/home/chroot/dev/log。
5.修改/etc/passwd,指向rssh和home目录:home目录的格式上有特殊的写法,要写//来区分,前面是chroot目录,后面则是缺省的自己home目录
staging-emailmeform:x:504:504::/home/chroot//home/emf2:/usr/bin/rssh

要注意一些日志,有时候会出现信息。
/var/log/messages
/var/log/secure

无缘无故出现Connection closed或no user found之类的错,就是chroot环境不对,肯定是少lib,或是/etc/passwd不对

最后就配置出一个只能用于sftp/scp的用户,并且只能访问自己的目录。

参考:
rssh主页 [url]http://www.pizzashack.org/rssh/[/url]
rpm包 [url]http://dag.wieers.com/rpm/packages/rssh/[/url]
配置 [url]http://www.cyberciti.biz/tips/howto-linux-unix-rssh-chroot-jail-setup.html[/url]
疑难解决 [url]http://www.gentoo-wiki.info/SFTP_Server[/url]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值