红联Linux门户
Linux帮助

RHCE第八讲:文件及权限

发布时间:2010-11-17 10:05:39来源:红联作者:linuxcui
用ls -l 以长模式显示文件的信息,例:
[root@server1 root]# ls -l /var/lib/dhcp/
total 8
-rw-r--r--
1 root
root
864 Feb 14 15:09 dhcpd.leases
-rw-r--r--
1 root
root
864 Feb 14 15:05 dhcpd.leases~


•用file检查文件类型

[root@server1 root]# file /etc/fstab

/etc/fstab
: ASCII text



file命令从系统配置文件/usr/share/magic中读取相应的文件规范。
文件类型
Linux沿用了Unix风格,在系统中所有东西都被当成文件,并且都可以适用文件的操作。
对于不同类型的文件,通常ls会用不同的颜色来标识,这些标识颜色的定义在文件/etc/DIR_COLORS中。
文件分类
一般文件

  这是一类常见的文件,也是常使用的一类文件,其特点是不包含有文件系统的结构信息。通常所接触到的文件,包括图形文件、数据文件、文档文件、声音文件等都属于这种文件。这种类型的文件按其内部结构又可细分为文本文件和二进制文件。

目录文件

  目录文件是用于存放文件名及其相关信息的文件,是内核组织文件系统的基本节点。目录文件可以包含下一级目录文件或普通。对于习惯于使用Windows的用户来说,这可能有些难于理解,目录怎么会是文件呢?的确,在Linux中,目录文件是一种文件。但Linux的目录文件和其它操作系统中的“目录”的概念不同,它是Linux文件中的一种。当然,在实际使用中可以不仔细区分这两种说法。实际上,在很多Linux的书籍和资料中就是将目录文件简称为目录的。不过,我们必需清楚此“目录”非彼“目录”。

链接文件

  链接文件是一种特殊的文件,实际上是指向一个真实存在的文件的链接。这有点类似于Windows下的快捷方式。根据链接文件的不同,它又可以细分为硬链接文件和符号链接文件。

设备文件

  设备文件是Linux中最特殊的文件。正是由于它的存在,使得Linux系统可以十分方便地访问外部设备。Linux系统为外部设备提供一种标准接口,将外部设备视为一种特殊的文件。用户可以像访问普通文件一样访问外部设备,使Linux系统可以很方便地适应不断发展的外部设备。通常Linux系统将设备文件放在/dev目录下,设备文件使用设备的主设备号和次设备号来指定某外部设备。根据访问数据方式的不同,设备文件又可以细分为块设备和字符设备文件。

管道文件
  管道文件是一种很特殊的文件,主要用于不同进程间的信息传递。当两个进程间需要进行数据或信息传递时,可以通过管道文件。一个进程将需传递的数据或信息写入管道的一端,另一进程则从管道的另一端取得所需的数据或信息。通常管道是建立在调整缓存中。

•在linux中,所有东西都被当成文件。
•文件权限前的第一个字母用来标识文件类型:
-:一般文件
d:目录文件
b:块设备文件
c:字符设备文件
l:链接文件
p:人工管道
文件权限

Linux系统是一个典型的多用户系统,不同的用户处于不同的地位。为了保护系统的安全性,Linux系统对不同用户访问同一文件的权限做了不同的规定。

  对于一个Linux系统中的文件来说,它的权限可以分为三种:读的权限( r )、写的权限( w )和执行的权限( x )。不同的用户具有不同的读、写和执行的权限。

  对于一个文件来说,它都有一个特定的所有者,也就是对文件具有所有权的用户。同时,由于在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。文件所有者以外的用户又可以分为文件所有者的同组用户和其它用户。因此,Linux系统按文件所有者、文件所属组的成员和其它用户三类规定不同的文件访问权限。

权限的概念


Linux文件系统安全模型是通过给系统中的文件赋予两个属性来起作用的,这两个赋予每个文件的属性称为所有者(ownership)和访问权限(access rights)。Linux下的每一个文件必须严格地属于一个用户和一个组。

每个文件的目录条目都是以下面类似的一些符号开始:


- r w - r - - r - -



这些符号用来描述文件的访问权限类别,也就是常说的文件权限。这些访问权限指导Linux根据文件的用户和组所有权来处理所有访问文件的用户请求。总共有10种权限属性,因此一个权限列表总是10个字符的长度。它的格式遵循下列规则:

  第1个字符表示一种特殊的文件类型。其中字符可为d(表示该文件是一个目录)、b(表示该文件是一个系统设备,使用块输入/输出与外界交互,通常为一个磁盘)、c(表示该文件是一个系统设备,使用连续的字符输入/输出与外界交互,如串口和声音设备),“-”表示该文件是一个普通文件,没有特殊属性。

  第 2~4个字符用来确定文件的用户(user)权限,第5~7个字符用来确定文件的组(group)权限,第8~10个字符用来确定文件的其它用户(other user,既不是文件所有者,也不是组成员的用户)的权限。其中,2、5、8个字符是用来控制文件的读权限的,该位字符为r表示允许用户、组成员或其它人可从该文件中读取数据。短线“-”则表示不允许该成员读取数据。与此类似,3、6、9位的字符控制文件的写权限,该位若为w表示允许写,若为“ - ”表示不允许写。4、7、10位的字符用来控制文件的制造权限,该位若为x表示允许执行,若为“ - ”表示不允许执行。
•字符方式的基本语法是:chmod [ugoa] +或者-或者= [rwx] [文件...] 例如:
[kevinz@stationXX kevinz] $ chmod o-r .bash_profile
( 赋予其他用户对文件.bash_profile可读的权限)
[kevinz@stationXX kevinz] $ chmod u=rw .bash_profile
( 赋予文件拥有者对文件.bash_profile的权限是可读写)


•赋予权限的另一种方法是chmod nnn [文件...]
n 是 0--7 数字 ,其中第1、2、3个n分别表示用户、组成员和所有其它用户。各个位置上的n要么是一个0,或者是一个由赋予权限的相关值相加得到的单个阿拉伯数字之和。这些数字的意义如下所示:



  

  

表示的意义

4
     
表示文件或者目录的读权限

2      表示文件或者目录的写权限

1  

表示文件或者目录的执行权限
一般而言,作为系统管理员,更喜欢使用数字方式,因为这种方式的速度明显快得多。
文章评论

共有 0 条评论