文件的存取权限—模式位疑难详解

2008-02-23 07:24:04来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

一、前言
   ========

   本文主要说明Linux下普通文件及目录的存取权限设置。本文是为稍具基础的初学者写的(我也是beginner),如
   果您能够理解如下几行'ls -l'命令的输出含义(注意下面标注^的位),那您就没有必要读本文了——别浪费时
   间看对你没用的东西,时间是最宝贵的!

-r-sr-xr-x   1 root     bin         26975 Jun 24  1999 01:32 /usr/bin/passwd-----------1.1
   ^ 
-rwxrwSr-x   1 zyd      zyd         12506 Oct 29 10:27 test_euid-----------------------1.2
      ^
drwxrwxrwt   5 root     root         1024 Nov  1 17:17 01;34 /tmp----------------------1.3
^^^^     ^   ^
-rwxr-xr-x   2 zyd      zyd         32506 Oct 19 10:20 hard_link-----------------------1.4
             ^
lrwxr-xr-x   1 zyd      zyd         1 Oct 23 10:40 sym_link->/tmp/sym_target-----------1.5
^                                                            ^^^^^^^^^^^^^^^



   二、'ls -l'命令输出格式简介
   ===========================

   'ls -l'命令以长格式显示文件列表,其各字段含义如下:

lrwxr-xr-x   1 zyd      users         15 Oct 23 10:40 sym_link->/tmp/sym_target
 _________     ___      _____            ____________ ________  _______________
|    |       |  |         |            |       |          |            |
|    |       |  |         |            |       |          |             --符号连接(s_link)
|    |       |  |         |            |       |          |
|    |       |  |         |            |       |           -----文件名(name)
|    |       |  |         |            |       |
|    |       |  |         |            |        ----文件最后更改时间(time)
|    |       |  |         |            |
|    |       |  |         |             ------------以字节计的文件长度(size)
|    |       |  |         |
|    |       |  |          ----------文件属组(group)
|    |       |  |
|    |       |   --------------------文件属主(user)
|    |       |
|    |        -------连接数位(count)
|    |
|     -------文件模式位(mode),占9位
|
------------文件类型位(type),占一位

   以上9个字段中除了s_link外,其他字段对不同文件和目录都应该有。其中user、group、time和name的含义自
   明,本文就不再介绍,其它字段将分专题小节在本文介绍。


   三、文件类型(type)

   Linux支持的文件类型主要包括一下7类,箭头右面的字符就是相应的文件类型位标志:
   1、普通文件========>-
   2、目录文件========>d
   3、符号连接========>l
   4、字符设备文件====>c
   5、块设备文件======>b
   6、命名管道FIFO
   7、套接口socket

   其中FIFO和socket超出了本文的范畴,不做介绍。其它文件简单解释如下:

   1、普通文件:就是普通文件(废话!),你用'vi myfile'建立的myfile就是普通文件,比如可执行二进制代码
   文件、script脚本文件、ASCII文本文件、数据文件、配置文件......就解释到这样行吗?

   2、目录文件:目录可以理解成放其它文件和/或其它目录的容器,是一种特殊文件,其内容由目录项组成,每个
   目录项主要包括两部分内容:文件名name和索引节点号inode,两者和起来称为连接,我们将在下小节对inode
   进行更详细的介绍。

   3、设备文件:不知道诸位是否有使用DOS的经验,如果我们的机器只有三个DOS系统文件IO.SYS, MSDOS.SYS,
   COMMAND.COM,而你需要编辑一份英文文档,日后再通过打印机输出,你能怎么办?

   COPY CON MYDOC.TXT

   ;在此输入文档内容

   ^ D ;结束存盘

   COPY MYDOC.TXT > PRN ;打印文档

   如果你熟悉这个过程,那你就已经理解设备文件了。以上的CON和PRN分别是DOS定义的两个设备文件,分别对应
   终端和并行打印口。这种设计使我们不必了解设备使用的具体硬件细节,按使用普通文件相同的方法来使用外部
   设备。


   Linux下的设备文件分为三大类:字符设备、块设备和网络设备,要想准确区别它们可能需要单独写一篇更臭更
   长的文章,大致情况是:字符设备是直接读取的,不使用缓冲区,象串行口、终端等;而块设备都是通过缓冲区
   进行读取的,并且每次只能读取一定数量的块,比如磁盘每次至少要读取一个扇区(如512字节),块设备可以实
   现随机读写;网络设备即前面提到的socket,因为我还不很熟悉,就不乱说了。设备文件一般都保存在/dev目
   录下,诸位可以用ls -l命令看看都有什么?反正本文的重点在于介绍普通文件和目录,设备文件不是重点,所
   以就只介绍到这里。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:如何设置虚拟匿名FTP主机?

下一篇:Samba剖析与定制技巧