有时候,您可能希望限制用户访问特定目录,这样他们就无法查看整个系统。可以通过创建 chroot 用户实现此目标。本文介绍如何设置 IBM® AIX® chroot 环境,并将其与 ssh、sftp 和 scp 一起使用。您还将了解 AIX 和 OpenSSH 的先决条件,以及如何配置和使用 chroot 环境。本文还提供了自动设置该环境的 可下载示例 Shell 脚本。
IBM 支持的 OpenSSH 版本(OpenSSH 4.5 版本以上)已包括 chroot 功能。它查找用户 home 目录中的“.”(点),然后 chroot () 调用更改用户的根目录,以使“.”(点)之前的目录成为 chrooted 目录。本文帮助您在 AIX 上设置 chroot 环境,然后将其与 ssh、sftp 和 scp 一起使用。
我们假定读者拥有基本的 AIX 技能,因此我们不再详细说明一般 AIX 任务,如更新 AIX、创建逻辑卷等等。我们重点关注设置 chroot 环境,以及将其与 IBM 支持的 OpenSSH 一起使用。
chroot 功能在 OpenSSH 4.5p1 以上的版本中受到支持。要从 sourceforge.net 下载的文件集为 openssh-4.5.0.5302(OpenSSH-4.5p2-r2) 及更高版本。支持 AIX 5.3(至少需要 TL06)和 AIX 6.1 或更高版本。
Openssh-4.5p1(openssh-4.5.0.5200) for AIX 5.2 同样支持 chroot 功能。支持的最低 AIX 版本为 AIX 5200-10。
从 SourceForge.net 下载最新版本的 OpenSSH,并从 IBM 下载最新的 openssl installp 文件集,有关这些下载的信息,请参阅参考资料部分。
您需要在该站点上注册才能下载文件集。
在您下载了所有文件集后,可以使用 smitty install 或 AIX NIM 来安装它们。
以下是为 openssh 4.5.0.5302 或 openssl 0.9.8.4 安装的文件集:
/home/chroot # lslpp -l | grep open openssh.base.client 4.5.0.5302 COMMITTED Open Secure Shell Commands openssh.base.server 4.5.0.5302 COMMITTED Open Secure Shell Server openssh.license 4.5.0.5302 COMMITTED Open Secure Shell License openssh.man.en_US 4.5.0.5302 COMMITTED Open Secure Shell openssh.msg.en_US 4.5.0.5302 COMMITTED Open Secure Shell Messages - openssl.base 0.9.8.4 COMMITTED Open Secure Socket Layer openssl.license 0.9.8.4 COMMITTED Open Secure Socket License openssl.man.en_US 0.9.8.4 COMMITTED Open Secure Socket Layer |
![]() ![]() |
![]()
|
首先,您需要选择一个 chroot 目录。我们将选择 /home/chroot 作为 chrooted 目录。
#mkdir -p /home/chroot |
在 /home/chroot 下面,您需要创建所需的目录和子目录,如 dev、dev/pts、etc、usr、usr/bin、usr/sbin、usr/lib 和 tmp。
#pwd #/home/chroot #mkdir –p dev/pts etc usr/bin usr/sbin usr/lib/ tmp |
因此,我们在 /home/chroot 目录下拥有了以下目录:
本文转自IBM Developerworks中国