chroot

✍ dations ◷ 2025-11-06 06:53:35 #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环境中使用图形界面是可能的,参见以下几个方案:

相关

  • 致死量致死量(英语:lethal dose、简写为 LD)是指特定物质或是辐射可造成死亡的量。对于不同的动物,或是其他条件差异(如年龄、健康状态等)而言,同一物质所能致死的量并不一定。这些数值多
  • 巨藻见内文巨藻科(学名:Lessoniaceae)是属于褐藻纲海带目下的一个科。
  • Hsub2/subCrOsub4/sub铬酸,化学式为H2CrO4,是三氧化铬溶于硫酸以及铬酸盐/重铬酸盐酸化时生成的化合物之一。重铬酸是二分子铬酸脱水形成的多酸,化学式为H2Cr2O7。三氧化铬是铬酸的酸酐,室温下为橘红
  • 骡子Equus mulus Erxleben, 1777骡子(学名:Equus ferus × asinus)是马和驴的杂交种。严格地说,在中文里母马和公驴的后代称为马骡(“骡,驴父马母者也”《说文解字注》。“骡”是“骡
  • 菌属Genus (LSE:GNS)是英国的一家种畜公司。Genus是富时250指数成份股,总部位于贝辛斯托克。该公司有两个子公司,分别是生产种牛的ABS和生产种猪的PIC。Genus公司的前身是成立于193
  • 安德烈·巴比什安德烈·巴比什(捷克语:Andrej Babiš;1954年9月2日-)是捷克富豪和从政者。他是捷克政党“是的2011”的创建者和领导人。“是的2011”于2017年捷克立法选举赢得捷克众议院200席中
  • 江西菜赣菜,又称江西菜,是中国菜主要菜系之一。江西地处长江南岸,赣内多江河湖泊,气候温润潮湿,因而江西人的饮食习惯偏爱香辣咸鲜等浓烈口味。由于江西农业发达,物产丰富,因此江西菜重点
  • k空間空间是寻常空间 R n {\displaystyle \mathbb {R} ^{n}} 空间
  • 杜纳耶茨河杜纳耶茨河(Dunajec River)是波兰南部的河流,是维斯瓦河的右支流。河道总长274公里,流域总面积6,804平方公里︰波兰段长247公里,流域面积4,852平方公里;斯洛伐克段长27公里,流域面积1
  • 平炉炼钢法平炉炼钢法是用平炉炼钢的工艺。1865年,法国工程师马丁利用西门子发明的火焰炉发展出炼钢工艺,被称为“西门子-马丁过程”,该炼钢炉称为平炉。该工艺在当时优于贝塞麦转炉炼钢法