首页 | 站长技术 专题 | 下载频道 | 网页模板 | 图片素材 | 虚拟主机 | 项目市场 | 源码市场 | 本站产品 | 广告服务 | 建站论坛
文档首页
建站指南
网站编程
网站设计
图像动画
网络安全
服务器技术
数据库技术
技术专题
技术问答
您的位置:中国建站 > 站长技术 > 服务器技术 > 其他相关 > WindowsNT和Linux的文件权限一个区别

WindowsNT和Linux的文件权限一个区别

作者:螺丝 加入时间:2006-07-26
        先说说大家熟悉的Windows,对于WindowsNT,只要你对某个文件设置了所有人不可写的安全属性(也就是文件权限咯),无论在哪个文件夹中都是不可以删除的,不管他所在的文件夹的安全属性是什么。
  当大家习惯了Windows的安全属性设置后,形成一个观念,文件是否可以删除是取决于这个文件的安全属性。我本来也有这个概念。
  然后我们来看看日益增多的Linux系统。我用的是RedHat和红旗Linux,应该其他Linux也一样。
  如果在Linux中有一个目录假定为 share (权限 drwxrwxrwx,即任何人完全控制),他的下面有一个文件 amtr,假设这个文件是某个用户写给root的一个message,他不想让别人看到文件的内容,于是把 amtr 的权限设置为 -rw-------,这样应该差不多了吧——如果另一个用户在 share 目录执行cat amtr就会显示Permission denied(没有权限)。
  但是,如果另一个用户在 share 目录下执行 rm amtr,你说会有什么结果——amtr不见了。更坏的,别的用户可以任意改名。如执行 mv amtr rootTMD,呵呵,这样root肯定会看。
  究其原因,是因为Linux把文件的i-nod信息全都交给了目录管理。包括文件存不存在、文件名是什么、文件存放在磁盘哪里等信息。只要你有这个目录的写权限,就可以删除目录下的任意文件(注:这里的文件不包括目录)和更改目录下的任意文件的文件名(注:包括目录)。
  特别的,对于目录,如果你这个目录只是一个空目录的话,就相当于一个文件,完全可以删除。但是因为Linux不能删除一个非空的目录。只要你的目录别人没有权利写且目录内有别人没有权限写的文件,那就不能删除你的目录(执行 "rm -r 目录名" 不是把目录从当前目录一点截断,而是用递归逐个删除目录内容,所以没办法删除),最多改个名字。
  大家应该可以看到/tmp的权限是 drwxrwxrwt ,t的意思是只有创建者可以修改。原来我以为这样设的原因是不让别人把tmp这个目录给删掉,把这个目录设成 o+t 的原因还有不让你删除别人不给删但是又在这个目录下的东西。
  所以在Linux中要小心不要把你的重要文件放在任何人完全控制的目录里。即使这个文件的权限是0。
上一篇文章:企业Intranet文件系统的构造分析
下一篇文章:中小企业服务器配置-文件服务器
返回上页】 
 

本站在线服务QQ  程序定制:70632246 广告受理/投搞/投诉:7606208 技术客服:3828351
网站简介 广告服务 成功案例 联系方式 办公电话:0580-3825369
Copyright © 2001-2007 JZ173.COM,All rights reserved  浙ICP备05023962号 感谢【中国商务网】提供服务器