chroot

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

相关

  • 咽后脓肿咽后脓肿(retropharyngeal abscess (RPA))是位于喉咙后部之咽后壁(咽后间隙(英语:Retropharyngeal space))组织中的脓肿。由于咽后脓肿通常发生在深部组织中,因此仅通过身体检查是难
  • 夫妻夫妻、夫妇是指男性和女性经过一定仪式(婚礼)或法律程序确立婚姻后的关系。一般会共同生活,维持经济、一同养育子女等。夫妻双方互为对方的配偶,男方为丈夫,女方为妻子。伉俪则是
  • 陈翰馥陈翰馥(1937年2月10日-),祖籍浙江绍兴,出生于杭州,控制论与系统科学家,中国科学院院士。著名数学家陈建功之子。陈翰馥自上海复兴中学毕业后前往苏联留学,最初就读于列宁格勒水运工
  • 冥族小天体在天文学中,冥族小天体或类冥小天体(plutino)是与海王星有2:3的平均运动共振的海王星外天体,Plutinos这个名称是在冥王星之后才有的,使用了意大利文表示小的附加语词-ino,指像冥
  • 北基伍省北基伍省(法语:Province du Nord Kivu)是位于刚果民主共和国东部的一个省,首府戈马(Goma),与乌干达及卢旺达两国接壤,人口3,564,434(1998年),面积59,483 km²。2008年10月25日开始,反政
  • 长衡保卫战长衡会战,或称湖南会战,是指1944年(民国33年)5月至8月,在中国抗日战争的豫湘桂会战(1号作战)中,中国第9战区部队在湖南长沙、衡阳地区对日军进行的防御战役。学术界也将“长衡会战”
  • 双港双港(英语:Two Harbors)是位于美国加利福尼亚州洛杉矶县的一个非建制地区。该地的面积和人口皆未知。双港的座标为33°26′20″N 118°29′50″W / 33.43889°N 118.49722°W /
  • 东钱湖东钱湖,亦称东湖、万金湖,是中国浙江省宁波市境内的一个湖泊。东钱湖位于鄞州区东钱湖镇境内,南北长8.5公里,东西宽4.5公里,水域面积19.14平方公里,是浙江省最大的天然湖泊,也是宁
  • 碳基生物碳基生物(英语:Carbon-based life)是指以碳元素为有机物质基础的生物。在构成碳基生物的氨基酸中,连接氨基与羧基的是碳元素,所以称作碳基生物。目前地球上已知的所有生物都属于
  • 伊瓦尔·奥森伊瓦尔·安德烈亚斯·奥森(Ivar Andreas Aasen,1813年8月5日-1896年9月23日),挪威语言学家、诗人、剧作家。奥森生于挪威西海岸的厄什塔,是农夫的儿子。早年搜集民歌,后来调查挪威