chroot

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

相关

  • 哺乳类胚胎发育胚胎发生(英语:embryogenesis)也称为胚胎形成或胚胎发育,是胚胎构造由简单到复杂的过程。最早的起源是将只有单套染色体的细胞,融合成具有双套染色体的卵,可以经由卵子与精子受精
  • 葡萄糖胺氨基葡萄糖(C6H13NO5)又称葡萄糖胺、葡糖胺或氨基葡糖,是葡萄糖的一个羟基被氨基取代后的化合物。氨基葡萄糖是蛋白质或脂类糖基化反应中的重要前体。氨基葡萄糖衍生物N-乙酰氨
  • 托马斯·杨托马斯·杨(英语:Thomas Young,1773年6月13日-1829年5月10日),亦称“杨氏”,是一位英国科学家、医生、通才,曾被誉为“世界上最后一个什么都知道的人”。托马斯·杨在物理学上作出的
  • 瓦伦蒂诺城堡瓦伦蒂诺城堡(Castello del Valentino)是意大利西北部城市都灵的一座历史建筑。它位于瓦伦蒂诺公园(Parco del Valentino),是都灵理工大学建筑系的所在地。1997年作为萨伏伊皇家
  • 凯捷凯捷管理顾问公司(英语:Capgemini,Euronext:CAP),总部设于法国巴黎,由法国企业家Serge Kampf于1967年创立,是一间全球性的资讯科技服务管理领导厂商。它列名在巴黎CAC40指数中,是法国
  • 建安郡建安郡,中国郡名,属扬州。东汉末期东吴设置会稽南部都尉,管辖会稽郡南部的建安、侯官、建平、南平、汉兴5县。吴景帝永安三年(260年),以都尉所属5县置建安郡。郡治建安县(今福建省
  • 鸡形目另见内文。鸡形目(学名:Galliformes)在生物分类学上是鸟纲中的一个目。人们通常把这一目的鸟中体形较大种的统称为“鸡”,体形较小的一些种类称为“鹑”。由于这一目的鸟腿脚强
  • 拉里默县拉里默尔县 (Larimer County, Colorado)是美国科罗拉多州北部的一个县,北邻怀俄明州。面积6,822平方公里。根据美国2000年人口普查,共有人口251,494人。县治科林斯堡 (Fort Co
  • 米哈伊尔·伊拉里奥诺维奇·库图佐夫米哈伊尔·伊拉里奥诺维奇·戈列尼谢夫-库图佐夫(俄语:Михаи́л Илларио́нович Голени́щев-Куту́зов,罗马化:;1745年9月16日-1813年4月28日
  • 丹尼拉·科兹洛夫思基丹尼拉·凡尔立维奇·寇兹洛夫斯基 (俄语:Данила Валерьевич Козловский,1985年5月3日-),俄罗斯籍演员、模特儿。于俄罗斯出演舞台剧、电视剧、电影