方便的 chroot 工具──jailkit
这篇文章主要是为自己留个笔记,顺便为受设置 chroot 困扰的同学作个 note,因此就不从头说起了。总之不知道什么是 chroot 的同学和不知道为什么要 chroot 的同学如果对此有兴趣,可以自己找找资料。
一直想给自己的 VPS 弄个 jailed shell,但找到的教程都相当的繁杂,虽然可以理解──相当于另建一个 Shell 环境──但无论如何确实很麻烦。一大堆的文件要拷贝,更大一堆的设置要调整,想想都头大,所以一直没有下手。偶然发现了 jailkit 这个实用工具集后,发现建立一个 jailed shell 是如此的容易。
Jailkit 可以把建立 chroot 环境完全自动化,除了可以轻松的建立 jailed shell 外,还可以建立 jailed mail 或是任意的 jailed 的环境,总之 you name it。
下面以建立一个有最基本命令的 jailed shell 为例说明,下载编译安装就不详细写了,一切按照 routine 来,以下命令全以 root 身份运行:
1、首先我建立一个目录 jail,在此目录下建立 jailed 环境,里面的用户将会受到限制(比如说无法离开该目录)。
mkdir /home/jail
2、然后初始化该目录:
jk_init -v -j /home/jail basicshell editors extendedshell netutils ssh sftp scp
加下划线的部分是预告设定好的,拿 sftp 为例,你可以在 /etc/jailkit/jk_init.ini 中找到相应的部分,大概的样子如下:
[sftp]
comment = ssh secure ftp with Jailkit limited shell
executables = /usr/lib/sftp-server
includesections = netbasics, uidbasics
devices = /dev/urandom, /dev/null
emptydirs = /svr
里面列举了建立一个能够 sftp 环境需要的设置,我们照猫画虎也可以设置一下自己需要的环境。
3、建立一个需要被 jailed 的用户,比如说 lemoned :P,为了好区分,我们可以为所以需要被 jailed 的用户单独划出一个组,名字为 pals (举例),命令如下:
groupadd pals
useradd -g pals -m lemoned
passwd lemoned
4、限制该用户
jk_jailuser -m -j /home/jail lemoned
这一步做完后,/etc/passwd 里面对应 lemoned 的那一行应该类似如下:
lemoned:x:1016:1016::/home/jail/./home/lemoned:/usr/sbin/jk_chrootsh
并且把 /etc/jail/home/etc/passwd 中的相应用户所在的行改成如下形式:
lemoned:x:1016:1016::/home/sharon:/bin/bash
然后,就没有然后了。就是这么简单。有了这个 jailed shell 后,我建议你关闭 ftp 让所有的用户都用 sftp 登陆,安全第一,安全第一。
8 Comment(s)
传家宝
December 15th, 2007 at 9:19 am
这个工具不错 :)
Fwolf
December 16th, 2007 at 7:07 am
看来你slicehost用的很舒服,chroot配置也不是特别的麻烦嘛。
:-)
michael (Blog Owner)
December 18th, 2007 at 8:51 am
@Fwolf, 是呀,相当简单
Ksky
December 24th, 2007 at 3:58 pm
怎么不更新了,圣诞快乐哈~
Fwolf
December 24th, 2007 at 4:14 pm
估计是一个字────太忙了。
michael (Blog Owner)
December 25th, 2007 at 1:58 pm
何必和老狼谢谢关心,我还活着,不过很忙,圣诞快乐。
Fwolf
December 25th, 2007 at 3:13 pm
圣诞快乐!me也加班ing
LEMONed
December 30th, 2007 at 1:41 pm
oh c’mon baby! jail me!
RSS feed for comments on this post
Leave a reply
Copyright © 2006-2008 巧克力工厂 - hosted at Slicehost, powered by WordPress and Nginx.
若无事先声明,本站作品匀采用署名-非商业性使用-相同方式共享 3.0 Unported进行许可。