阅 读 文 章

请讲一讲chroot的用法

[来源:网上转载 (http://www.chinaunix.net) | 作者:网友(yufei88) | 时间:2007-05-27 | 浏览:人次 ]


如题!



 mmmmn 回复于:2002-07-31 10:09:51

呵呵,这个我也想知道,好象是配合ftp使用的吧?


 prowater 回复于:2002-07-31 10:45:10

CHROOT就是Change Root,也就是改變程式執行時所參考的根目錄位置。 

一般的目錄架構: 

/bin 
/sbin 
/usr/bin 
/home 

CHROOT的目錄架構: 
/hell/ 
/hell/bin 
/hell/usr/bin 
/hell/home 


* 為何要CHROOT? 

1.限制被CHROOT的使用者所能執行的程式,如SetUid的程式,或是會造成 
  Load 的 Compiler等等。 
2.防止使用者存取某些特定檔案,如/etc/passwd。 
3.防止入侵者/bin/rm -rf /。 
4.提供Guest服務以及處罰不乖的使用者。 
5.增進系統的安全。 

*  要如何建立CHROOT的環境? 
1.chroot()這個function: 
  chroot(PATH)這個function必須具有 root 的身份才能執行,執行後會 
  將跟目錄切換到 PATH 所指定的地方。 
2.login的過程: 
  使用者無論是從console或是telnet進入,都必須執行/usr/bin/login來 
  決定是否能進入系統,而login所做的動作大致是: 
  (1)印出login的提示符號,等待使用者輸入密碼。 
  (2)檢查密碼是否正確,錯誤的話回到(1)。 
  (3)正確的話以setuid()來改變身份為login_user。 
  (4)以exec()執行user的shell。 
     因此我們必須先修改/usr/bin/login的source code,讓login在(2)到(3) 
     的中間執行chroot($CHROOT_PATH)的動作,已達到CHROOT的目的,並以修 
     改過的login替代原先的/usr/bin/login。 
  (5)稍微好一點的方法必須在做chroot()之前檢查login 
     user的group,如果有某個特定的group(如chrootgrp) 
     才執行chroot(),不然所有的人都會被chroot了。 

3.建立CHROOT所需的環境: 
  (1)必須具備的目錄:(假設$CHROOT為希望建立的路徑) 
     $CHROOT/etc  $CHROOT/lib  $CHROOT/bin 
     $CHROOT/sbin $CHROOT/usr/lib  $CHROOT/usr/bin 
     $CHROOT/usr/bin $CHROOT/usr/local  $CHROOT/home 
  (2)仔細審查/etc中的檔案,需具備執行程式時所需的檔 
     案,如passwd,groups,hosts,resolv.conf等等。 
  (3)拿掉不想給的執行檔,如su,sudo等SetUid的程式, 
     以及compiler甚至telnet。 
  (4)測試一下,以root身份執行  chroot $CHROOT /bin/sh 
     即可進入CHROOT環境中。(man chroot for details) 

4.在console或是以telnet進入試試。 

5.Username/Password Resolve的考量: 
   在CHROOT時你可能不希望被CHROOT的使用者(以後簡 
论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 用法 CHROOT chroot root CHROOT/etc/passwd /etc/passwd

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.