You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
1.9 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# chroot
## 说明
**chroot命令** 用来在指定的根目录下运行指令。chroot即 change root directory (更改 root 目录)。在 linux 系统中,系统默认的目录
结构都是以`/`,即是以根 (root) 开始的。而在使用 chroot 之后,系统的目录结构将以指定的位置作为`/`位置
chroot命令之后系统读取的目录和文件将不再是系统根下的而是被指定的目录因此它带来的好处大致有以下3个
**增加了系统的安全性,限制了用户的权力:**
在经过 chroot 之后,在新根下将访问不到旧系统的根目录结构和文件,这样就增强了系统的安全性。这个一般是在登录 (login) 前使用 chroot
以此达到用户不能访问一些特定的文件
**建立一个与原系统隔离的系统目录结构,方便用户的开发:**
使用 chroot 后,系统读取的是新根下的目录和文件,这是一个与原系统根下文件不相关的目录结构。在这个新的环境中,可以用来测试软件的静态编译
以及一些与系统不相关的独立开发
**切换系统的根目录位置,引导 Linux 系统启动以及急救系统等:**
chroot 的作用就是切换系统的根位置,而这个作用最为明显的是在系统初始引导磁盘的处理过程中使用,从初始 RAM 磁盘 (initrd) 切换系统的根
位置并执行真正的 init。另外当系统出现一些问题时我们也可以使用 chroot 来切换到一个临时的系统
## 选项
```markdown
--userspec=用户:组 指定所用的用户及用户组(可使用"数字"或"名字")
--groups=组列表 指定可供选择的用户组列表形如组1组2组3...
```
## 实例
```bash
chroot target /bin/sh # 将target作为根目录运行其中的`/bin/sh`
chroot target /bin/ls # 将target作为根目录(运行其中的`/bin/ls`)
```