chroot

✍ dations ◷ 2025-11-26 06:50:26 #Unix进程和任务管理相关软件,虚拟化软件,Linux内核功能

chroot是在unix系统的一个操作,针对正在运作的软件行程和它的子进程,改变它外显的根目录。一个运行在这个环境下,经由chroot设置根目录的程序,它不能够对这个指定根目录之外的文件进行访问动作,不能读取,也不能更改它的内容。chroot这一特殊表达可能指chroot(2)系统调用或chroot(8)前端程序。

由chroot创造出的那个根目录,叫做“chroot监狱”(chroot jail,或chroot prison)。

1979年,在开发Version 7 Unix时,chroot系统调用首次问世。1982年3月18日,在4.2BSD发布前17个月,比尔·乔伊(Bill Joy)将chroot机制移植到BSD系统上,主要用于测试安装和构建系统。

1991年,威廉·齐斯韦克(William Cheswick)开发出第一个蜜罐程序,来监视入侵黑客的行动。他使用了chroot来进行实现,这是chroot最早被用于开发程序的先例,也因此,chroot创造出的根目录空间,之后被人称为软件监狱(chroot jail)。

2000年,FreeBSD团队,将原本chroot机制,导入虚拟化技术的概念,开发了新的jail系统命令,伴随着FreeBSD 4.0版一同发布。

2004年,因为黑客开发出许多可以破解chroot机制的方法,出现了jailbreak这个术语。

2005年,太阳微系统在Solaris系统上开发出Solaris Containers,称它是吃了类固醇的chroot(chroot on steroids)。

2006年,Linux内核中开发出cgroups。2007年,被加到Linux 2.6.24版内核中。2008年,基于cgroups,开发出LXC,以及Docker。2013年被加入Linux 3.8版中。

应用chroot,可以创建并运行一个隔离的虚拟软件系统拷贝。这对于以下应用是十分有用的:

chroot机制的设计中,并不包括抵抗特权用户(root)的蓄意篡改。在大多数的系统中,chroot环境没有设计出适当的堆栈,所以一个在chroot下运行的程序,可能会透过第二次chroot来获得足够权限,逃出chroot的限制。为了减轻这种安全漏洞所带来的风险,在使用chroot后,在chroot下运行的程序,应该尽快放弃root权限,或是改用其他机制来替代,例如FreeBSD jail。在某些操作系统中,例如FreeBSD,已经采取预防措施,来防止第二次chroot的攻击。

一些Unix系统提供扩展的chroot机制,一般称为操作系统层虚拟化—至少解决其中的一些限制。包括:

在chroot环境中使用图形界面是可能的,参见以下几个方案:

相关

  • 类脂类脂(Lipoid)是对可溶于脂肪等非极性溶剂,和脂肪有相似性质的物质的统称。类脂分子不一定包含甘油。磷脂、糖脂、鞘磷脂和类固醇都属于类脂。类脂的结构可能与脂肪有很大差别,类
  • 马尔萨斯增长模式马尔萨斯的增长模式(英文:Malthusian growth model),有时也称“简单的指数增长模型”,本质上是指数增长基础上以恒定的速率。
  • 沙石场砂石场(包括“采石场”和“采砂场”),指建筑用砂、建筑用石的采掘、精选加工生产单位。砂石场多为成片连接的开放性露天开采区域,属于生产性企业单位。采石场多位于岩石富集区,多
  • 包立方程式泡利方程或称薛定谔-泡利方程,为描述带有自旋1/2的粒子在与电磁场相互作用下的修正方程(自旋1/2粒子例如电子)。在此之前,用以描述粒子行为的薛定谔方程则未考虑到粒子自旋的性
  • 白色革命白色革命(波斯语:انقلاب سفید‎,Enghelāb-e Sefid)是一系列由伊朗末代国王穆罕默德·礼萨·巴列维在1963年发起的意义深远的改革。国王有意通过此次经济与社会的改革
  • 档案档案(英语:archive;或称存档、归档、封存)是指组织或个人在业务处理过程所产生、持有、保存并公开作为历史史料的一级来源的堆积物——文件公文(条约、宣言、外交文书、政府有关
  • 耙笔石Rastrites approximatus Rastrites geinitzii Rastrites hybridus Rastrites linnaei Rastrites longispinus Rastrites peregrinus耙笔石(学名:Rastrites)是笔石纲正笔石目下
  • 帕罗奥多帕罗奥图(英文:Palo Alto /ˌpɑːloʊˈɑːltoʊ/, /ˌpæloʊˈæltoʊ/)是美国加利福尼亚州圣克拉拉县内的一座城市,位于旧金山湾区西南部,在山景城和门洛帕克市中间,西方毗邻
  • 无段自动变速器name = 'Transport',description = '交通',content = {{ type = 'text', text = ] },{ type = 'item', original = 'articulated bus', rule = 'zh-cn:铰接客车;zh-tw:双节
  • 2010–11年欧霸杯外围赛及附加赛圈2010–11年欧霸杯外围赛及附加赛圈包括三圈赛事。外围赛第一圈在2010年7月1日进行首回合比赛,次回合比赛于7月8日进行;外围赛第二圈在2010年7月15日进行首回合比赛,次回合比赛