第三章 Linux系统管理(下)

  点击阅读>>>>第三章 Linux 系统管理(上)

  点击阅读>>>>第三章 Linux 系统管理(中)

  第三部分 文件系统与权限设置

  当所有人都把目光投注在操作系统身上时,却常常忘记了一个极为重要的配角――文件系统。文件系统的优劣与否和操作系统的执行效率、稳定性以及可靠度息息相关。

  一,认识系统的目录

  在安装Linux的磁盘中会有很多系统默认的目录,这些目录依照不同的用途而放置特定的文件。在前面已经简单介绍过一些常用的目录,以下将详细说明每一个默认目录的功能:

  /: 根目录,包含整个Linux系统的所有目录和文件。

  /bin:此目录放置操作系统时所需要使用的各种命令程序。例如cp、rpm、kill、tar、mv、rm与ping等常用命令,还有各种不同的Shell,如bash、bash2、tcsh等。

  /dev:存放界面设备代号的文件。例如硬盘的/dev/had、终端机等。这些文件比较特殊,他们实际上都指向所代表的界面设备。

  /etc:存放与系统设置、管理相关的文件。例如记录账号名称的passwd文件、投影口令文件shadow都放在这里。

  /etc/X11:X Window 配置文件的目录。

  /etc/rc.d:这个目录包含了启动或关机时所运行的script文件。

  /home:此目录默认用来设置用户账号的主目录。

  /lib:放置一些共享的函数库。

  /lib/modules:存放系统内核的模块。某些可被模块化的部分,并不需要在编译系统内核本体,避免内核过大导致效率较低。

  /lost+found:文件系统发生问题时,Linux会自动扫描磁盘试图修正错误,倘若找到遗失或错误的区域,就会将这些区域转成文件存放于目录中,等候管理员来进一步处理。

  /misc:默认空无一物,供管理员堆放公共杂物。默认权限时全部用户都可以读取和执行文件,但是只有管理员能够写入文件。

  /mnt:此目录下默认有/mnt/cdrom和/mnt/floppy两个目录,用来作为光盘与软件的加载点.

  /proc:系统内核和执行程序之间的信息,如执行ps、free等命令时所看到的信息,就是从这里读取。这目录内的文件并非真的存在,用户看到的虚拟文件。

  /root:系统管理员专用的目录,即root账号的主目录。

  /sbin:此目录存放启动系统需运行,例如 fsck、init、grub、lilo与swapon等

  /tmp:供全部用户暂时放置文件的目录。系统默认可让所有用户读取、写入和执行文件,因此对于一般用户来说,若觉得自己的磁盘空间不够使用,便可暂时利用此目录存放文件。这里也是临时文件的目录,某些程序在执行中说产生的临时文件会存放在这个目录内。
  /usr:此目录包括许多子目录,用来存放系统命令。程序等信息。

  /usr/bin:放置用户可以执行的命令程序,如find、free、gcc等。

  /usr/share/doc:存放各种文件的目录。

  /usr/share/man:放置多种帮助文件。

  /usr/src:存放源代码的地方,Linux系统内核的源代码就放在此目录下。

  /var:系统执行时,需要暂时记录存放的数据或临时文件,都会放置在这个目录里。

  /var/tmp:前面介绍的/tmp目录除了放置所有用户暂时存放的文件之外,还提供给程序产生的临时文件使用,因此经常会因对方许多文件,而显得非常杂乱。管理员通常会定时清理/tmp目录,维护磁盘空间的整洁。加入不想将某些文件混入/tmp目录中,可以选择存放在这里。

  二,文件属性

  d:表示这是一个目录。在ext3中,目录被视为一种特殊的文件。

  -:表示这是一个普通的文件

  l:表示这是一个符号链接的文件,实际上它指向另一个文件。

  b、c:分别代表区块设备和其他的界面设备,是特殊类型的文件。

  s、p:这些文件关系到系统的数据结构和通道,通常很少见到。

  1,一般权限

  r (read,读取):对文件而言,用户具有读取文件内容的权限。对目录而言,用户拥有浏览目录内容的权限。

#p#副标题#e#

  w (write,写入):对文件而言,用户具有修改文件内容的权限。对目录而言,用户具有删除或移动目录内文件的权限。

  x(execute,执行):对文件而言,用户具有执行文件的权限。对目录而言,用户具有进入目录的权限。
  2,特殊权限

  其实文件与目录的权限设置不只如此,还有所谓的特殊权限存在。属于特殊权限会拥有一些“特权”,因而用户若无特殊需求,不应该去打开这些权限,避免安全方面出现严重漏洞,让黑客入侵。

  设置UID,S(SUID, Set UID):可执行的文件若搭配这个权限,该文件便能得到权限,可以任意存取文件所有者能使用的全部系统资源。

  设置GID,S(SGID,Set GID):应用在文件上面,其效果和SUID相同,只不过将范围由文件所有者扩大成组。也就是说,拥有此权限的文件,可以任意存取整个组所能使用的系统资源。

  三,用户与组的权限关系

  假如用户lambert属于cassia组,其用户主目录的权限设为rwxr-x—x,表示统属cassia组的用户,可以读取和记入这个目录,其他用户则只能进入该目录,但完全看不到任何内容。

  因而属于其他组的用户saber,就无法读取lambert目录中的文件。但若将/etc目录下的group文件内容作些修改,情况就不同了:

  …

  postfic:x:89:

  pvm:x:24:

  cassia:x:501:lambert,saber ← 将saber账号加入cassia组

  saber:x:502:

  四,检查inode编号

  链接的文件实际上都是指向磁盘中相同的数据,因为每个文件仅占用一个inode,所以他们的inode编号应该一样。执行ls –i命令来查看文件的inode编号:

  [lambert@free lambert]$ ls –i LambertLink

  10423 LambertLink

  [lambert@free lambert]$ ls –i /tmp/var/ForEveryOne

  10423 /var/tmp/ForEveryOne

  从上面的结果可看出这两个文件的inode编号一样的,倘若是用复制而非连接的方法,便会是两个不相干的文件,各自拥有inode编号。

  [lamnert@free lambert]$ ls –I LambertFile

  366955 LambertFile ←这个文件的inode是366955,而ForEveryOne的是10423