如何执行 Debian chroot 安装 - Linux 安装教程
在本教程中,我们将专门处理 Debian Chroot 环境。 在 chroot 环境中运行 Linux 系统允许系统管理员在服务器受到威胁时减少对生产服务器的影响。
更改根会将根目录更改为所有当前正在运行的进程及其子进程的 chroot 监狱。在 chroot 环境中测试各种软件包安装和服务器配置可能是使用 chroot Jail 的另一种便捷方法。
在本教程中,我们将介绍在 Debian Linux 上设置 chroot 的分步说明。这些说明也适用于其他基于 Debian 的系统。
在本教程中您将学习:
如何安装debootstrap
如何在 Debian Linux 上设置 chroot
如何通过 SSH 进入 chroot 监狱
安装debootstrap
我们需要做的第一件事是在 Debian 上安装 debootstrap 软件包。该软件将允许我们创建一个 chroot 环境。使用以下命令通过 Debian 的包管理器安装包。
$ sudo apt update
$ sudo apt install debootstrap
安装chroot环境
现在,是时候安装 chroot 环境了。请按照以下步骤进行设置。
首先,创建一个您希望 chroot 环境驻留的目录。在本教程中,我们将保持简单并使用
/mnt/chroot
。$ sudo mkdir -p /mnt/chroot
一旦您的新 chroot 目录准备就绪,我们将使用 debootstrap 在 chroot 环境中安装新的 Debian 系统文件。安装可能需要一些时间,因为 debootstrap 必须下载并安装核心软件包。
$ sudo debootstrap stable /mnt/chroot http://deb.debian.org/debian/
您将在终端中看到大量输出,但它应该以“I:基本系统安装成功”文本结束,这意味着它已经完成。
最后,通过挂载到 chroot 目录中将主机 proc 系统与 chroot 环境连接起来。这允许 chroot 访问主机系统的硬件。
$ sudo mount -t proc proc /mnt/chroot/proc $ sudo mount -t devpts devpts /mnt/chroot/dev/pts
Chroot Debian 配置
现在,我们准备登录 chroot 并进行一些基本配置。为了避免主机和 chroot 环境之间的混淆,我们可以将 root 的 PS1 变量更改为 shell 提示符 chroot#
。此步骤是可选的,但建议执行。
首先,登录 chroot。
$ sudo chroot /mnt/chroot /bin/bash --login
执行以下 Linux 命令可永久更改 root 的 shell 提示符并退出。
# echo 'PS1="chroot:\w# "' >> ~/.bashrc # exit
下次进入 chroot 环境时,您将看到新的 shell 提示符。
# chroot /mnt/chroot /bin/bash --login
接下来我们将安装并重新配置语言环境。
chroot:/# apt install locales
现在重新配置您的区域设置,并从菜单中选择您的区域设置。
chroot:/# dpkg-reconfigure locales
安装 chroot ssh 守护进程
现在我们准备在 chroot 环境中安装任何服务。让我们从 ssh 开始,因为这将允许我们使用 ssh 连接从 LAN 或 WAN 登录 chroot。
使用以下命令安装 SSH 服务器。
chroot:/# apt install ssh
配置 chrooted ssh 服务以侦听 22 以外的端口,因为它很可能已被您的主机系统占用。
chroot:/# nano /etc/ssh/sshd_config
并更改行
#Port 22
,同时添加一行以添加远程 root 登录:Port 2222 PermitRootLogin yes
重新启动 SSH 服务以使更改生效。
chroot:/# /etc/init.d/ssh restart Restarting OpenBSD Secure Shell server: sshd.
最后,更改 chrooted root 用户的密码:
chroot:/# passwd
远程登录 chroot
如果一切顺利,我们现在应该能够使用 ssh 登录到新的 chroot 环境:
$ ssh root@localhost -p 2222
微调 chroot
当您打开主机操作系统时,chroot ssh 守护进程不会自动启动。因此,创建一个简单的 shell 脚本来完成该任务:
#!/bin/bash
mount -t devpts devpts /mnt/chroot/dev/pts
mount -t proc proc /mnt/chroot/proc
chroot /mnt/chroot /etc/init.d/ssh start
最后一步,创建一个指向 /etc/rc2.d/
的符号链接:
# ln -s /etc/init.d/chroot.sh /etc/rc2.d/S98chroot
现在您应该拥有一个功能齐全的 chroot 环境。请随意探索并安装附加服务。
结束语
在本教程中,我们了解了如何安装 debian chroot 环境。我们还学习了如何通过 SSH 登录 chroot 环境,这使得管理它和安装测试包变得更加容易。拥有 chroot 环境是测试软件并将其与主机操作系统分开的好方法。