chroot

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

相关

  • 低毒性病毒科低毒性病毒科(Hypoviridae) 又译作次毒(性)病毒科或轻毒(性)病毒科,是双琏RNA病毒中的一科,该类病毒主要感染菌类。下有一属:*次毒病毒属(Hypovirus,又译作低毒性病毒属)直径50-80nm,
  • 弗莱福兰省弗莱福兰(荷兰语:Flevoland)是荷兰中部的一省。面积2,343平方公里。1986年1月1日建省,是荷兰第12省、最新的省份,分成6市。东北是弗里斯兰省、西南是北荷兰省、南是乌得勒支省、
  • 经血过多经血过多(Menorrhagia)描述女性在月经期间经血量过多的情形,属于功能失调性子宫出血的一种。非正常的子宫出血可能肇因于生殖道结构异常、无排卵(英语:anovulation)、出血疾病、激
  • 中央山脉中央山脉为台湾五大山脉之一,北起宜兰县苏澳镇南方澳与东澳之间的乌岩角,南到台湾本岛最南端的鹅銮鼻,呈北北东至南南西走向纵贯全岛,为全岛最长的山脉,它将台湾全岛分成了西大、
  • 散兵坑散兵坑是依照军事需求在特定地点以人工的方式所建筑的工事。它可以是炮弹的弹坑,也可以为人工挖掘,通常较少天然的散兵坑。散兵坑有点类似单人战壕,其用途也与壕沟相去不远。第
  • 禁食禁食(fasting),又称为断食,是指个人有意识地停止进食某些或所有食物,甚至饮料。禁食亦包括禁止食用某些特定食物(例如肉类、用不同方式处理的食物)。禁食行为存在于很多宗教的信仰
  • 兽刑兽刑(拉丁语:Damnatio ad bestias)是一种执行死刑的方式,指利用猛兽将受刑人咬死甚至捕食。公元前7世纪,亚述国王亚苏巴尼巴尔曾经把他的囚犯扔给巨犬。兽刑于公元1世纪由亚洲传
  • 赵宝煦赵宝煦(1922年-2012年1月21日),出生于北京,祖籍浙江绍兴,中华人民共和国政治学家,当代中国政治学奠基人之一,北京大学教授。他与中山大学的夏书章、吉林大学的王惠岩、苏州大学的丘
  • 中华人民共和国第四届农民运动会中华人民共和国第四届农民运动会于2000年10月29日至11月4日在四川绵阳举行。中国31个省、自治区、直辖市以及台湾民间的河洛农民体育队的3300名运动员参加13个大项410个小项
  • 丹尼尔·阿杰伊丹尼尔·阿杰伊(Daniel Agyei),出生于1989年11月10日,是加纳的职业足球运动员,司职守门员,现效力于南非足球超级联赛自由邦星。 最后更新:2013年1月13日加纳20岁以下足球代表队加