chroot

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

相关

  • 萨丁岛坐标:40°00′N 09°00′E / 40.000°N 9.000°E / 40.000; 9.000撒丁岛(意大利语:Sardegna,,撒丁语:Sardìgna, Sardìnnia)位于意大利半岛的西南方,是地中海的第二大岛,仅次于西西
  • 唐本草《新修本草》,因成书时主持修撰的是英国公李
  • 罗马骑士阶级罗马骑士阶级(翻译自拉丁语:Equites),简称骑士阶级,是古罗马共和国时期两个上层阶级中较低等的一个阶级,位列元老阶级之下。虽然该阶级同样被译为中文的“骑士阶级”,但是其实与中
  • 辛普森氏果猴辛普森氏果猴(学名:Carpolestes simpsoni),又名辛氏盗果兽,是已灭绝的更猴形亚目的一种,是最早的像灵长目哺乳动物之一。根据它们的化石纪录,可以追溯至古新世晚期。辛普森氏果猴有
  • 古生菌古菌(拉丁语:Archaea,来自古希腊语:ἀρχαῖα,意为“古代的东西”)又称古细菌、古生菌或太古生物、古核生物,是单细胞微生物,构成生物分类的一个域,或一个界。这些微生物1970年前
  • D09(Antifungals for dermatological use)(Emollients and protectives)(Preparations for treatment of wounds and ulcers)(Antipruritics, including antihistamines, anesthetics,
  • 旋转对映异构物阻转异构现象是某些分子单键自由旋转受阻时,产生光活性异构体的现象,也可看作是构象异构的一类。其英文名为Atropisomer,来源于希腊文,其中a意为“不”,tropos意为“旋转”。该名
  • 多极神经元多极神经元是神经元的一种,负责支配多个树突和单一(通常且长)的轴突,容许来自其他神经元的大量信息的综合。其树突分支也可从细胞体出现。多极神经元也指派脑中的多数神经元。Ne
  • 国立台北护理学院国立台北护理健康大学,简称北护大、国北护、北护,是一所位于台湾台北市的国立科技大学,以教授健康科学课程为主。内江街校址为城区部,仅语言治疗与听力学系暨硕士班、健康事业管
  • 吉州吉州,隋朝时设置的州。开皇十年(590年)置,治所在庐陵县(今江西省吉水县东北),唐朝永淳元年(682年)移治今江西省吉安市。因吉水得名。唐辖境相当今江西省新干县和万安县间赣江流域及安