fstab文件格式:
下面是/etc/fstab文件的一个示例行:
fs_spec fs_mount point fs_type fs_parameter fs_dump fs_pass
/dev/hda1 / ext2 defaults 1 1
fs_spec:硬盘装置档名或该装置的Label
fs_parameter:
参数 | 內容意義内容意义 |
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设定即可! |
fs_dump:指明是否要备份。该选项被"dump"命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设置该字段为0。0为不备份,1为要备份,一般根分区要备份。
fs_pass:指明自检顺序。该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统"/"对应该字段的值应该为1,其他文件系统应该为2。若该文件系统无需在启动时扫描,则设置该字段为0。
fstab 文件想必大家都很熟悉,记录了计算机上硬盘分区的相关信息,启动 Linux 的时候,检查分区的 fsck 命令,和挂载分区的 mount 命令,都需要 fstab 中的信息,来正确的检查和挂载硬盘。
除了 fstab 文件之外,还有一个 mtab 文件,和 fstab 文件一样在 /etc 文件下,位于 /etc/mtab ,这个文件又是干什么用的呢?
我们可以看一下 mtab 文件的内容 (这是我电脑上的 mtab 文件内容):
# cat /etc/mtab
/dev/sda4 / reiserfs rw,noatime 0 0
proc /proc proc rw,nosuid,nodev,noexec 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec 0 0
udev /dev tmpfs rw,nosuid 0 0
devpts /dev/pts devpts rw,nosuid,noexec 0 0
/dev/sda2 /boot ext2 rw,noatime 0 0
shm /dev/shm tmpfs rw,noexec,nosuid,nodev 0 0
/dev/sda1 /mnt/winxp ntfs rw,utf8,umask=0 0 0
usbfs /proc/bus/usb usbfs rw,noexec,nosuid,devmode=0664,devgid=85 0 0
/dev/sdb5 /media/SWAP vfat rw,nosuid,nodev,shortname=lower,uid=1000 0 0
乍看上去,和 fstab 文件的结构和内容基本相同,但是不同的是,mtab 文件记录的是,当前已挂载的分区信息。
每当 mount 挂载分区、umount 卸载分区,都会动态更新 mtab,mtab 总是保持着当前系统中已挂载的分区信息,fdisk、df 这类程序,必须要读取 mtab 文件,才能获得当前系统中的分区挂载情况。
The programs mount and umount maintain a list of currently mounted file
systems in the file /etc/mtab. If no arguments are given to mount,
this list is printed. When the proc filesystem is mounted (say at
/proc), the files /etc/mtab and /proc/mounts have very similar con-
tents. The former has somewhat more information, such as the mount
options used, but is not necessarily up-to-date (cf. the -n option
below). It is possible to replace /etc/mtab by a symbolic link to
/proc/mounts, but some information is lost that way, and in particular
working with the loop device will be less convenient.