介紹node
Linux系統中/etc/fstab是一個文本文件,系統引導時自動加載文件系統的配置文件,每一個文件系統(包括分區或者設備)用一行來描述,在每一行中,用空格或TAB符號來分隔各個字段,文件中以#開頭的行是註釋信息。 fstab文件中的記錄的排序也很重要。由於 fsck,mount或umount等程序在作它們的工做時會按此順序進行,按約定RHEL用文件系統掛載點做標籤來指定設備。服務器
暫時不想使用的文件系統可用#註釋掉,方便往後從新啓用網絡
/etc/mtab, 此文件實時反映系統中掛載的文件系統,其顯示格式與/etc/fstab 一致。app
exampleless
#async
# /etc/fstabide
# Created by anaconda on Sun Nov 20 15:16:50 2011工具
#oop
# Accessible filesystems, by reference, are maintained under '/dev/disk'性能
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
<fs> <mountpiont> <type> <opts> <dump/pass>
UUID=e5d9736b-cf07-4bfe-a686-8c007c9ae347 / ext4 defaults 1 1
UUID=2b00d6a6-45fd-4f34-98bc-0c0a760ec14e /boot ext4 defaults 1 2
UUID=47981aa4-f28b-4ac7-9126-4adbd53243a9 /fedora ext4 rw 1 2
UUID=054cfc38-954a-45da-9526-561c6c92c7f0 /home ext4 defaults 1 2
UUID=83b5a64c-4013-4f0b-881a-2f4ab7ce2f5f /share ext4 rw 1 2
UUID=000F-F278 /study vfat umask=0,rw,iocharset=gb2312 0 0
UUID=2A1D-0905 /winxp vfat umask=0,rw,iocharset=gb2312 0 0
#普通用戶掛載fat32 ntfs 分區有W權限
UUID=48d2c510-3c6b-4422-8792-8046ac65a792 swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/study/rhel-server-6.0-i386-dvd.iso /mnt/rheliso udf,iso9660 loop 0 0
/study/Fedora-16-i386-DVD.iso /mnt/fedora16iso udf,iso9660 loop 0 0
#自動掛載ISO, 爲避免掛載錯誤,可使用指令在/etc/rc.d/rc.local 中添加指令來自動掛載ISO
192.168.100.20:/home /mnt nfs defaults 0 0
#NFS掛載, 服務器名稱/ip地址:共享目錄 掛載點 文件類型 掛載選項 備份頻率 檢查選項
/dev/mapper/name /cryptest ext4 defaults 1 2
#掛載luks 設備時name 須要下/etc/crypttab 中設置的name 一致
//192.168.1.3/game /media cifs -o username=Joen%password 0 0
none /tmp tmpfs defaults 0 0
文件內容解析
設備文件 掛載點 文件系統類型 mount參數 dump參數 fsck順序
文件系統所在的設備或者文件系統標籤:使用文件系統標籤可避免因刪減分區或者添加SCSI設備等形成設備名改變而使/etc/fstab文件混淆 ,掛載的形式, /dev/sda1 , LABEL=/home , UUID= ..
掛載點, 特殊的是swap ,無掛載點.
文件系統類型;/proc/filesystems auto ….
option: default值爲rw,ruid,dev,exec,auto,nouser,async
dump_freq 工具有份標誌,如今已不多使用dump,0,1做標記, 是否使用dump備份
fsck_order啓動時fsck(文件系統檢查(FileSystem ChecK))的檢查順序(是否須要自檢),1保留給/root,2 除/root 外全部要檢查的文件系統,0啓動時不檢查 ,非零表明檢查的順序
掛載形式
LABEL=/ / ext4 defauts 1 1
/dev/sda1 /boot ext4 defauts 1 2
uuid=xxx-xxx-xxx /test ext4 default 0 0
用戶能夠經過blkid <設備名>查詢設備的文件系統類型與UUID,RHEL 6 中習慣是使用UUID掛載設備(名稱固定)持久的設備命名方式一般是使用設備惟一的UUID,也經常使用於開機後自動掛載iSCSI上的文件系統
LABEL=labelname 與/dev/sdaX(設備名)等價,可用於mount 命令和fstab中.
swap 分區行不須要掛載點
掛載選項
共享掛載選項
共享掛載參數通常是兩個一組且互斥。
async/sync |
執行時是否使用同步讀取方式 |
auto/noauto |
mount -a時是否自動掛載,開機自動掛載 |
exec/noexec |
該文件系統中的執行文件是否容許執行 |
atime/noatime |
文件被改動時是否更新訪問時間 |
dev/nodev |
是否啓用這個文件系統上的設備節點文件(塊和字符設備) |
suid/nosuid |
在這個文件系統上是否要啓用特殊權限 |
user/nouser |
是否容許普通用戶執行mount 命令 |
rw/ro |
文件系統是可讀寫仍是隻讀掛載 |
default |
至關於rw,suid,dev,exec,auto,nouser,async 的組合 |
noexec:不容許可執行文件執行,可防止用戶上傳惡意可執行代碼,但千萬不要把根分區掛載爲noexec,那就沒法使用系統了,連mount命令都沒法使用了,這時只有從新作系統了!
noatime 關閉atime特性,提升性能,這是一個很老的特性,放心關閉,還能減小loadcycle
defaults 使用默認設置。等於rw,suid,dev,exec,auto,nouser,async,具體含義看下面的解釋。
自動與手動掛載:
auto 在啓動或在終端中輸入mount -a時自動掛載
noauto 設備(分區)只能手動掛載
讀寫權限:
ro 掛載爲只讀權限
rw 掛載爲讀寫權限
可執行:
exec 是一個默認設置項,它使在那個分區中的可執行的二進制文件可以執行
noexec 二進制文件不容許執行。千萬不要在你的root分區中用這個選項!!!
I/O同步:
sync 全部的I/O將以同步方式進行
async 全部的I/O將以非同步方式進行
戶掛載權限:
user 容許任何用戶掛載設備。 Implies noexec,nosuid,nodev unless overridden.
nouser 只容許root用戶掛載。這是默認設置。
臨時文件執行權限:
suid Permit the operation of suid, and sgid bits. They are mostly used to allow users on a computer system to execute binary executables with temporarily elevated privileges in order to perform a specific task.
nosuid Blocks the operation of suid, and sgid bits.
文件系統特定掛載選項
usrquota, grpquota |
啓用對用戶和羣組磁盤配額功能的選項. |
_netdev |
iSCSI 等設備的掛載,避免網絡啓動前掛載出現錯誤 |
acl |
只有ext 文件系統支持的選項功能 |
關於卷標
因爲設備文件名可能在硬盤結構發生變化時更動,所以RHEL對ext2文件系統使用卷標來掛載與卸載。更換設備時,更改設備的卷標便可,卷標與設備文件無關,它記錄在文件系統中的超級塊中。
用戶能夠用e2label指令來查詢與更改ext2/ext3文件系統的卷標, 使用卷標後,用戶可使用LABEL=labelname來取代命令行中的設備名稱。
用卷標名掛載文件系統,通常直接以掛載點命名,或者明顯區分其用途的名稱。
mount –L jb /myjb
mount LABEL=jb /myjb
不一樣的文件系統,須要用不一樣的工具來設置卷標
Mtools 適用於 FAT32 格式分區.
ntfsprogs 適用於 NTFS 格式分區.
e2label適用於 ext2 和 ext3 型格式分區.
sudo e2label /dev/xxx labelname
sudo ntfslabel /dev/xxx labelname
開機自動加載光驅
修改/etc/fstab
/dev/cdrom /mnt/cdrom udf,iso9660 noauto,owner,kudzu 0 0
/dev/cdrom /mnt/cdrom udf,iso9660 auto 0 0
/dev/cdrom /mnt/cdrom udf,iso9660 defaults 0 0
Linux下掛載NTFS分區
ntfs3g和ntfsprogs包提供了Linux系統下管理NTFS分區的功能,其中ntfs3g只提供掛載ntfs分區的功能,更多ntfs分區管理操做須要使用ntfsprogs(ntfsmount, mkntfs,ntfslabel)
yum install ntfs3g
mount -t ntfs3g /dev/ mount_point
/etc/fstab 恢復
光盤啓動進入恢復模式下手動編輯/etc/fstab進行恢復,完成後使用mount/umount來測試是否能夠正常掛載。
其中的信息參考來源有
fdisk -l
mount
/etc/mtab
命令
fuser -v /usr 查詢如哪一個用戶在使用文件系統