【busybox记录】【shell指令】chroot

目录

内容来源:

【GUN】【chroot】指令介绍

【busybox】【chroot】指令介绍

【linux】【chroot】指令介绍

使用示例:

常用组合指令:

指令不常用/组合用法还需继续挖掘:


内容来源:

        GUN : Coreutils - GNU core utilities

        busybox v1.36.1 : 【busybox记录】【shell指令】基于的Busybox的版本和下载方式-CSDN博客

【GUN】【chroot】指令介绍

chroot:在不同的根目录下执行命令
chroot 运行带有指定根目录的命令。在许多系统中,只有超级用户才能执行此操作。
简介:
chroot option newroot [command [args]...]
chroot option
通常,从目录结构的根(即/)开始查找文件名。chroot将根目录更改为newroot目录(必须存在),然后将工作目录更改为/,最后使用可选参数运行command。
如果未指定command,则默认为SHELL环境变量的值,如果未设置,则使用-i选项调用/bin/sh。
命令不能是一个特殊的内置实用程序(参见第2.10节[特殊内置实用程序],第10页)。
程序接受以下选项。请参见第2章[常用选项],第2页。
选项必须在操作数之前。
‘--groups=groups’
	使用此选项可覆盖新流程要使用的补充组。
	列表中的项(名称或数字id)必须用逗号分隔。使用' --groups= " '来禁用 --userspec 选项中隐含的补充组查找。
‘--userspec=user[:group]’
	默认情况下,命令以与调用进程相同的凭据运行。
	使用此选项可以作为不同的用户和/或使用不同的主组运行它。
	如果指定了用户,则根据系统为该用户定义的列表设置补充组,除非用 --groups选项覆盖。
‘--skip-chdir’
	使用此选项可以在将根目录更改为newroot后不将工作目录更改为/,即在chroot中。
	这个选项只有在newroot是旧的/目录时才被允许,因此它通常与 --groups和 --userspec选项一起使用,以保留以前的工作目录。

由 --userspec和 --groups选项执行的用户名和组名查找在chroot外部和内部完成,在chroot内部成功查找优先。
如果指定的用户或组项打算表示数字ID,那么通过指定前导' + '来避免名称到ID的解析步骤。参见第6页第2.4节[消除名称和id的歧义]。

这里有一些技巧可以帮助您避免在使用chroot时出现的常见问题。
从一个简单的例子开始,make命令引用一个静态链接的二进制文件。
如果要使用动态链接的可执行文件,则必须将共享库安排在新根目录下的正确位置。
例如,如果你创建了一个静态链接的ls可执行文件,并把它放在/tmp/empty目录下,你可以作为root用户运行这个命令:
$ chroot /tmp/empty /ls -Rl /
然后你会看到这样的输出:
/:
total 1023
-rwxr-xr-x 1 0 0 1041745 Aug 16 11:17 ls
如果您想使用动态链接的可执行文件,比如bash,那么首先运行' ldd bash '来查看它需要哪些共享对象。
然后,除了复制实际的二进制文件外,还要将列出的文件复制到预期的新根目录下所需的位置。
最后,如果可执行文件需要任何其他文件(例如,数据、状态、设备文件),也将它们复制到适当的位置。
chroot只安装在具有chroot功能的系统上,因此可移植脚本不应该依赖于它的存在。

退出状态:
125 如果chroot本身失败
126 如果找到命令但无法调用
127 如果找不到命令
命令的退出状态

【busybox】【chroot】指令介绍

NA

【linux】【chroot】指令介绍

[root@localhost bin]# chroot --help
用法:chroot [选项] 新根 [命令 [参数]...]
 或:chroot 选项
以指定的新根为运行指定命令时的的根目录。

  --groups=G_LIST        specify supplementary groups as g1,g2,..,gN
  --userspec=USER:GROUP  specify user and group (ID or name) to use
  --skip-chdir           do not change working directory to '/'
      --help		显示此帮助信息并退出
      --version		显示版本信息并退出

If no command is given, run '"$SHELL" -i' (default: '/bin/sh -i').

GNU coreutils 在线帮助:<https://www.gnu.org/software/coreutils/>
请向 <http://translationproject.org/team/zh_CN.html> 报告 chroot 的翻译错误
完整文档请见:<https://www.gnu.org/software/coreutils/chroot>
或者在本地使用:info '(coreutils) chroot invocation'

使用示例:

NA

常用组合指令:

NA

指令不常用/组合用法还需继续挖掘:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦幻面条EW

感谢您的打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值