Chinaunix首页 | 论坛 | 博客
  • 博客访问: 209508
  • 博文数量: 43
  • 博客积分: 2501
  • 博客等级: 少校
  • 技术积分: 485
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-07 21:45
文章分类

全部博文(43)

文章存档

2011年(3)

2010年(1)

2009年(21)

2008年(18)

我的朋友

分类: LINUX

2008-07-21 10:18:17

    文件是Unix系统的两大重要概念之一,具有很重要的地位,Unix中文件不仅包含普通文件和目录,设备、网络连接等也用文件表示。

1.文件种类  
    Unix文件主要分为7种,分别是普通文件,目录,符号链接,字符设备,块设备,网络套接字和FIFO(或命名管道),用ls -l查看时从权限字符串的第一个字符可以看出,分别是-,d,l,c,b,s,p。

2.文件权限
    Unix文件访问权限分为读、写、执行三种,分别用r,w,x表示,一个文件的访问权限按文件所有者、文件组所有者和其他用户分为三组,每组用三个字符分别表示三种权限,如果有对应权限就用相应的字符表示,如果没有就用-代替。系统判断进程对文件的访问依次按照文件所有者、文件组所有者和其他用户三组顺序,如果匹配一组,就不会继续下去。

3.目录权限
    比较特别的是目录的权限,目录的执行权限是指在目录中查找和定位目录项(也就是目录中文件的列表),所以ls dir需要dir的读和执行权限,在目录中创建和删除文件都需要目录的写和执行权限,要访问/d1/d2/d3/f需要有/,d1,d2,d3的读和执行权限以及f的相关权限。所以,一般来说目录的读和执行权限要打开,而写权限很高,因为有了写权限就可删除它下面的所有文件,一般对其他用户写权限。

4.set-uid和set-gid
    文件设置set-uid时,文件所有者权限的x变为s,这个文件被执行的时候进程的euid会被设置成文件所有者的uid,如passwd就是典型的代表,这种标识应该慎用。set-gid对文件组所有者具有类似的意义。

5.saved-text bit和sticky bit
    sticky bit是以前UNIX使用的一个文件标志,带有此标志的可执行文件在第一次执行时它的代码段(text)会保存在swap的连续区域中,下一次执行同一个文件的时候就会比较快,因为文件在磁盘上是不连续分布的。这个sticky bit也被称作saved-text bit。
    但是,现在操作系统都有IO缓存、高级文件系统等,这样就没有必要使用sticky bit,这个标志被用来代表另外的语意,例如,一个目录如果设置这个位(ls -l的时候执行位用t标识),那么它下面的文件只能被目录所有者、文件所有者或者root用户删除,/tmp就是这样的例子。
阅读(1781) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~