Linux运维基础 | /etc/fstab文件详解

什么是/etc/fstab?

我们在linux中常常用mount命令把硬盘分区或者光盘挂载到文件系统中。

/etc/fstab就是在开机引导的时候自动挂载到linux的文件系统。

在linux中/etc/fstab的数据项如下所示:

/dev/device mountpoint type rules 0order 

例如这是一个普通的/etc/fstab:

/dev/hda2 / ext3 defaults 0 1
/dev/hda3 swap swap defaults 0 0
/dev/hda5 /usr ext3 defaults 0 0 
/dev/fdo /mnt/flopy ext3 noauto 0 0
/dev/cdrom /mnt/cdrom iso9660 noauto,ro0 0

/dev/device就是需要挂载的设备,/hda2就是第一个IDE插槽上的主硬盘的第二个分区。

如果是第二个IDE插槽主硬盘的第三个分区,那就是 /dev/hdc3,具体可以在linux下使用fdisk -l 查看。

mountpoint 就是挂载点。/、 /usr、 swap 都是系统安装时分区的默认挂载点。

如果你要挂载一个新设备,你就要好好想想了,因为这个新设备将作为文件系统永久的一部分,需要根据FSSTND(文件系统标准),以及它的作用,用户需求 来决定。

比如你想把它做为一个共享资源,放在/home下面就是一个不错选择。

type 是指文件系统类形。

rules 是指挂载时的规则。下面列举几个常用的:

auto 开机自动挂载.

.0
default 按照大多数永久文件系统的缺省值设置挂载定义
noauto 开机不自动挂载
nouser 只有超级用户可以挂载
ro 按只读权限挂载
rw 按可读可写权限挂载
user 任何用户都可以挂载

请注意光驱和软驱只有在装有介质时才可以进行挂载,因此它是noauto

0 是指dump(系统备份工具)。这一项为0,就表示从不备份。如果上次用dump备份,将显示备份至今的天数。 

order 指fsck(启动时fsck检查的顺序)。为0就表示不检查,(/)分区永远都是1,其它的分区只能从2开始,当数字相同就同时检查(但不能有两 1)。

如果我要把第二个IDE插槽主硬盘上的windowsC 区挂到文件系统中,那么数据项是:

/dev/hdc1 /c vfat defaults 0 0
(/c 是事先建立的文件夹,作为c盘的挂载点。)
 
当你修改了/etc/fstab后,一定要重新引导系统才会有效。

fstab中存放了与分区有关的重要信息,其中每 一行为一个分区记录,每一行又可分为六个部份,下面以/dev/hda7 /ext2 defaults 1 1为例逐个说明:

1. 第一项是您想要mount的储存装置的实体位置,如hdb或如上例的/dev/hda7。 


2. 第二项就是您想要将其加入至哪个目录位置,如/home或如上例的/,这其实就是在安装时提示的挂入点。


3. 第三项就是所谓的local filesystem,其包含了以下格式:如ext、ext2、msdos、iso9660、nfs、swap等,或如上例的ext2,可以参见 /prco/filesystems说明。


4. 第四项就是您mount时,所要设定的状态,如ro(只读)或如上例的defaults(包括了其它参数如rw、suid、dev、exec、auto、 nouser、async),可以参见「mountnfs」。 


5. 第五项是提供DUMP功能,在系统DUMP时是否需要BACKUP的标志位,其内定值是0,1表示要进行dump备份,2表示要做dump备份,不过重要性比1小。


6. 第六项是设定此filesystem是否要在开机时做check的动作,除了root的filesystem其必要的check为1之外,其它皆可视需要设定,内定值是0,不需要fsck。也可以是2,不过1会比2来的早检查。

文件系统参数解析

defaults(包括了其它参数如rw、suid、dev、exec、auto、 nouser、async)

async/sync

异步/同步 配置磁盘与内存是否以异步方式运行,默认为 async,异步方式写入,性能比较好。

auto/noauto

自动/非自动 当下达 mount -a 时,此文件系统是否会被主动测试挂载。默认为 auto。启动时是否自动载入该区。

rw/ro

可擦写/只读 让该分割槽以可擦写或者是只读的型态挂载上来,如果你想要分享的数据是不给用户随意变更的,这里也能够配置为只读。则不论在此文件系统的文件是否配置 w 权限,都无法写入。

exec/noexec

可运行/不可运行限制在此文件系统内是否可以进行『运行』的工作,如果是纯粹用来储存数据的,那么可以配置为 noexec 会比较安全,相对的,会比较麻烦。

user/nouser

允许/不允许使用者挂载,是否允许用户使用 mount 命令来挂载,一般而言,我们当然不希望一般身份的 user 能使用 mount,因为太不安全了,因此这里应该要配置为 nouser。

suid/nosuid

具有/不具有 suid 权限,该文件系统是否允许 SUID 的存在,如果不是运行文件放置目录,也可以配置为 nosuid 来取消这个功能。

usrquota 注意名称是『 usrquota』不要拼错了,这个是在启动filesystem 支持磁盘配额模式,更多数据我们在第四篇再谈。

grpquota 注意名称是『grpquota』,启动 filesystem 对群组磁盘配额模式的支持。

defaults 同时具有 rw, suid,dev, exec, auto, nouser, async 等参数。 基本上,默认情况使用 defaults 配置即可。

FILESYSTEM INDEPENDENT MOUNT OPTIONS  //man 8  mount

© 版权声明
THE END