|
我最近在配置服务器的chroot环境,可不知道怎么回事,在FC4下可以用PAM与chroot结合限制ssh用户访问。可在RedHat9.0下就根本无效,不知道为什么所以特请高手指点一下这两个系统在配置chroot环境时不一样的地方。我的配置过程如下:
(1)创建ssh的chroot环境
1)创建用户abc 密码为12345。
[root@localhost~]# useradd abc
[root@localhost~]# passwd abc
2)在/var/创建chroot并在其下创建etc、bin、lib、home/abc
[root@localhost~]# mkdir /var/chroot
[root@localhost~]# cd /var/chroot
[root@localhost~]# mkdir etc bin lib home
[root@localhost~]# cd home
[root@localhost~]# mkdir abc
3)用标准输出命令tail将/etc/passwd文件拷贝到/var/chroot/etc/
[root@localhost~]# tail -1 /etc/passwd > /var/chroot/etc/passwd
4)用ldd命令查看ls、bash所需的模块文件
[root@localhost~]# ldd /bin/ls 如图1-1
图3-1 查看所需模块
[root@localhost~]# ldd /bin/bash 如图1-2
图3-2 添加所需模块
(2)将图1-1、图1-2中所显示的模块拷贝到/var/chroot/lib/目录下。
[root@localhost~]# cp /lib/librt.so.1 /var/chroot/lib/
[root@localhost~]# cp /lib/libacl.so.1 /var/chroot/lib/
[root@localhost~]# cp /lib/libselinux.so.1 /var/chroot/lib/
[root@localhost~]# cp /lib/libc.so.6 /var/chroot/lib/
[root@localhost~]# cp /lib/libpthread.so.0 /var/chroot/lib/
[root@localhost~]# cp /lib/ld-linux.so.2 /var/chroot/lib/
[root@localhost~]# cp /lib/libtermcap.so.2 /var/chroot/lib/
[root@localhost~]# cp /lib/libdl.so.2 /var/chroot/lib/
[root@localhost~]# cp /lib/libc.so.6 /var/chroot/lib/
全部拷贝完成后结果如图3-3
图3-3 拷贝完成界面
(3)将/bin/bash与ls拷贝到/var/chroot/bin/
[root@localhost~]# cp /bin/bash /var/chroot/bin/
[root@localhost~]# cp /bin/ls /var/chroot/bin/
(4)使用chown命令将/var/chroot/home/abc的所有者改为abc
[root@localhost~]# chown abc /var/chroot/home/abc
(5)配置ssh的PAM文件,/etc/pam.d/sshd文件
[root@localhost~]# vi /etc/pam.d/sshd内容如图1-4所示
图3-4 sshd配置文件
在文件中添加一行,使sshd认证时使用pam_chroot.so模块
Session required pam_chroot.so
(6)配置/etc/security/chroot.conf文件。目的是定义abc用户登录chroot环境时的默认目录。文件内容如图3-5
图3-5 chroot配置文件
在配置文件最后一行加入abc /var/chroot
抱歉图就不贴了,所有过程全在这里了~! |
|