Linux chroot命令
 
 
 Linux/Unix: chroot命令
 
什么是chroot命令?
 
 " chroot命令"是Unix/Linux命令。它用于在 Linux/Unix操作系统中将根目录更改为新目录。新目录称为chroot jail和jail目录。对于用户工具集,这是有效且简单的命令。一旦进入两个根目录,就不能使用其上的任何目录。如果为用户创建了虚假的根目录,它将失去对真实根目录的访问权限。
 
 通常,会对根目录进行以下更改以进行系统维护: 
 
使用环网机制提高安全性 
重新启动系统上的引导加载程序文件 
创建用于软件测试的测试环境 
密码重置 
  chroot命令的语法 
 
  Linux中的chroot命令具有以下语法。
 
 
 
   
   | chroot命令语法 | 
 
   
   | chroot / path / to / new / root / path / to / server | 
 
   
   | chroot / path / to / new / root command | 
 
   
   | chroot [options] / path / to / new / root / path / to / server | 
 
 
 
  chroot命令需要一个参数来运行该命令,并且该参数让位于新的根目录。您可以使用这些可用选项来获得所需的结果。
 
  选项: 
 
 -userspec = (USER:GROUP): 此选项描述要在其上使用chroot命令的组和用户。可以使用数字ID或名称来定义组和用户。 
 -groups = G_LIST: 用于定义互补组,例如G1,G2,G3,G4,G5,…,Gn。 
 -help: 该选项用于显示帮助消息。 
 -version: 该选项用于显示给定版本的详细信息。 
创建chroot.jail 
 
  chroot监狱是一个虚拟目录。通过将根目录转换为新目录来创建它。它充当您的chroot监狱的虚拟根目录。
 
  1、创建目录 
 
 在此命令中,首先我们使用mkdir命令创建一个伪造的根目录。该命令如下所示。
 
 
 
 
 
 此命令在我们使用的给定地址处创建目录chroot jail目录,在运行此命令之前,我们将所需文件添加到新目录。
 
  2、要在chroot监狱中添加必需的根目录 
 
 首先,在此命令中,我们在chroot监狱目录中创建所需的目录(/bin,/lib和/lib64)。如下面的命令语法所示,所需的目录在方括号("{}")中指定。
 
 
  
  $ sudo mkdir / bashjail/ {bin, etc} 
   
  
 
 
 
  3、移动二进制文件 
 
 我们为此命令创建了一个简约的Linux环境,并使用ls,bash touch和rm命令来增强虚拟环境的功能。
 
 
  
  sudo cp-v /bin/ {ls, bash, touch, rm} $home / ch 
   
  
 
 
 
 
 注意: 在此命令中,我们使用cp命令和-v标记查看当时正在复制的内容。 
 
  4、要找到命令依赖关系 
 
 我们可以使用ldd命令找出命令的依赖关系。现在,我们将使用cp命令在chroot监狱中一一复制目录。我们检查所有依赖库的副本。如果依赖库存在问题,则chroot jail将无法正常运行。
 
 
 
 
  
  cp-v {<List of command dependencies here>} $desktop/ jail/ lib64 
   
  
 
 
 
 我们将在Chroot监狱内重复所有这些步骤我们要允许的命令。