本文详细介绍WindowsNT和Linux的文件权限的区别
先说说大家熟悉的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。
责编:豆豆技术应用
- Linux/Unix新闻
- Linux/Unix入门
- Linux/Unix命令
- Linux/Unix安装
- Linux/Unix编程
- Linux/Unix管理
- Linux/Unix桌面
- Linux/Unix内核
- Linux/Unix软件
- Linux/Unix发行版
- redhat/Fedora
- Ubuntu Linux
- IBM AIX
- FreeBSD
- Solaris
- NetBSD
- SCO Unix
- find基本用法
- ldd命令原理及用法例子
- su和sudo命令的区别与使用技巧
- Linux操作系统下的dd命令技巧
- 关于Top命令的参数详解
- 关于Tar命令的使用
- SSH实用技巧及常用命令使用
- Linux后台执行命令
- VI命令使用技巧集锦
- Vmstat命令列出的属性详解
- 如何查看及修改文件读写权限
- 最大可存储的单文件容量
- ext2/ext3文件系统介绍
- 常用压缩格式的压缩解压方法
- Linux系统的引导过程详细解析
- Configure参数解释说明
- Linux下硬盘和分区的命名方法
- 硬链接与软链接的区别
- 权限和所有权模型
- 存储设备的两种表示方法