一、fstab文件
fstab文件為存放文件系統(tǒng)的靜態(tài)信息文件,同時(shí)也是系統(tǒng)啟動(dòng)時(shí)必須要 讀取的一種配置文件,存放于/etc目錄下。
當(dāng)系統(tǒng)啟動(dòng)時(shí)托嚣,讀取這個(gè)配置文件中的信息,然后將指定的文件系統(tǒng)掛載到指定的目錄下兢哭,此文件錯(cuò)誤可能會(huì)導(dǎo)致系統(tǒng)開啟失敗丑搔。
-
etc/fstab 文件包含了<file system> <dir> <type> <options> <dump> <pass>等幾個(gè)字段,字段直接通過空格或 Tab 分隔浙垫。
<file systems>: 要掛載的分區(qū)或存儲(chǔ)設(shè)備 <dir> :掛載點(diǎn) <type> :要掛載設(shè)備或是分區(qū)的文件系統(tǒng)類型辙诞,支持文件系統(tǒng)類型有:ext2, ext3, ext4, reiserfs, xfs, jfs, smbfs, iso9660, vfat, ntfs, swap 及 auto辙售。 設(shè)置成auto類型,mount 命令會(huì)自動(dòng)匹配文件系統(tǒng)類型 <options>:掛載時(shí)經(jīng)常使用的參數(shù)梁呈,但有些mount 參數(shù)是特定文件系統(tǒng)才有的。一些比較常用的參數(shù)有: auto:在啟動(dòng)時(shí)或鍵入了 mount -a 命令時(shí)自動(dòng)掛載 noauto:關(guān)閉自動(dòng)掛載 exec:允許執(zhí)行此文件系統(tǒng)上的二進(jìn)制文件 noexec:不允許執(zhí)行文件系統(tǒng)上的二進(jìn)制文件 ro:以只讀模式掛載文件系統(tǒng) rw: 以讀寫模式掛載文件系統(tǒng) user: 允許任意用戶掛載此文件系統(tǒng)评甜,若無顯示定義佩研,隱含啟用noexec, nosuid, nodev 參數(shù) users:允許所有 users 組中的用戶掛載文件系統(tǒng) nouser: 只能被 root 掛載 owner:允許設(shè)備所有者掛載 sync : I/O 同步進(jìn)行 async:I/O 異步進(jìn)行 dev:解析文件系統(tǒng)上的塊特殊設(shè)備 nodev:不解析文件系統(tǒng)上的塊特殊設(shè)備 suid:允許 suid 操作和設(shè)定 sgid 位晰骑。這一參數(shù)通常用于一些特殊任務(wù)抚官,使一般用戶運(yùn)行程序時(shí)臨時(shí)提升權(quán)限 nosuid:禁止 suid 操作和設(shè)定 sgid 位 atime/noatime :更新/不更新訪問時(shí)間,包含目錄和文件 diratime/nodiratime :目錄的訪問時(shí)間戳 relatime:實(shí)時(shí)更新 inode access 記錄。只有在記錄中的訪問時(shí)間早于當(dāng)前訪問才會(huì)被更新叼架。(與 noatime 相似畔裕,但不會(huì)打斷如 mutt 或其它程序探測(cè)文件在上次訪問后是否被修改的進(jìn)程),可以提升性能(參見 atime 參數(shù)) flush :vfat 的選項(xiàng)碉碉,更頻繁的刷新數(shù)據(jù),復(fù)制對(duì)話框或進(jìn)度條在全部數(shù)據(jù)都寫入后才消失 loop:使用loop設(shè)備 defaults:使用文件系統(tǒng)的默認(rèn)掛載參數(shù)淮韭,例如 ext4 的默認(rèn)參數(shù)為:rw, suid, dev, exec, auto, nouser, async <dump> :dump 工具通過它決定何時(shí)作備份斩启,dump 會(huì)檢查其內(nèi)容绘迁,并用數(shù)字來決定是否對(duì)這個(gè)文件系統(tǒng)進(jìn)行備份。 允許的數(shù)字是 0 和 1 。0 表示忽略如迟, 1 則進(jìn)行備份 <pass> fsck 讀取 <pass> 的數(shù)值來決定需要檢查的文件系統(tǒng)的檢查順序。允許的數(shù)字是0, 1, 和2获洲。 根目錄應(yīng)當(dāng)獲得最高的優(yōu)先權(quán) 1, 其它所有需要被檢查的設(shè)備設(shè)置為 2. 0 表示設(shè)備不會(huì)被 fsck 所檢查
文件系統(tǒng)標(biāo)識(shí)
在 /etc/fstab配置文件中可以使用三種不同的方法表示文件系統(tǒng):掛載文件路徑和名稱磨取、UUID 或者 label。使用 UUID 或是 label 的好處在于它們與磁盤順序無關(guān)畔乙。如果一些意外情況導(dǎo)致了磁盤順序的改變君仆,就可能導(dǎo)致/目錄掛載磁盤找不到路徑,所以建議使用 UUID 或是 label 來表示。
-
fstab文件的幾種掛載格式
將/boot目錄掛載到/mnt/boot中 /boot /mnt/boot none bind 0 0 (none為沒有文件系統(tǒng)) 將/app/partfile掛載到/mnt/part文件中 /app/partfile /mnt/part ext4 loop 0 0 掛載win共享文件(192.168.198.1為win的IP返咱,share為共享目錄) //192.168.198.1/share /mnt/share cifs defaults 0 0 掛載swap分區(qū) /dev/sdb3 swap swap defaults 0 0 掛載磁盤分區(qū) /dev/sda2 / ext4 defaults 0 0 掛載nfs共享目錄 192.168.198.1:/share /mnt/share nfs defaults 0 0 掛載samba目錄 //172.16.30.130/common /tmp cifs multiuser钥庇, username=danran,password=danran咖摹,sec=ntlmssp 0 0
二评姨、磁盤配額使用
隨著系統(tǒng)普通用戶的增加很可能導(dǎo)致/home目錄的空間使用率緊缺,作為系統(tǒng)管理員萤晴,有必要將/home目錄的空間使用對(duì)普通用戶做出一些限制吐句,以免導(dǎo)致/home目錄空間不足而其他用戶不能正常使用,這就用到了我們今天所要說的磁盤及文件系統(tǒng)配額的管理店读。
磁盤及文件系統(tǒng)配額是根據(jù)塊或者節(jié)點(diǎn)數(shù)為界限對(duì)用戶及組進(jìn)行限制使用嗦枢,但是磁盤配額的使用必須在一個(gè)獨(dú)立分區(qū)上進(jìn)行,故首先應(yīng)將/home遷移到獨(dú)立分區(qū)上两入。
使用到的相關(guān)命令有如下幾個(gè):
系統(tǒng)掛載選項(xiàng)
usrquota:對(duì)指定用戶限制
grpquota:對(duì)組進(jìn)行限制
配額數(shù)據(jù)庫(kù)初始化:
quotackeck -cug /home 初始化/home目錄的用戶和組的配額數(shù)據(jù)庫(kù)
quotaon -p /home 查看/home目錄的配額數(shù)據(jù)庫(kù)是否開啟
quotaon /home 開啟/home的配額數(shù)據(jù)庫(kù)
edquota danran 編輯danran用戶的配額管理
edquota -p user1 user2 根據(jù)user1的配額生成user2的配額
quota uaername 查看uaername的配額空間
有一個(gè)空間大小為20G的分區(qū)sdb1净宵,首先將跟目錄下面的/home遷移到/sdb1分區(qū)上,然后方可使用磁盤配額對(duì)/home目錄進(jìn)行管理
-
將/home遷移到/dev/sdb1分區(qū)上
mkdir /mnt/home mount /dev/sdb1 /mnt/home 將sdb1分區(qū)掛載到/mnt/home目錄下 cp -av /home/* /mnt/home 拷貝原目錄下的所有數(shù)據(jù)到/dev/sdb1掛載點(diǎn)目錄/mnt/home上
如果直接掛載可能會(huì)把原來/home下的文件覆蓋裹纳,導(dǎo)致原有文件成為垃圾文件從而占用空間择葡,若直接刪除/home下的文件,可能導(dǎo)致正在登陸的普通用戶不能正常使用剃氧,故切換到單用戶模式下刪除/home文件敏储,因?yàn)閱斡脩裟J较聸]有其他用戶登錄不需擔(dān)心在刪除過程中對(duì)普通用戶造成影響。
init 1 切換進(jìn)單用戶模式
du -sh /home /mnt/home 比較兩個(gè)home目錄是不是一致
blkid /dev/sdb1 可顯示/dev/sdb1分區(qū)的UUID號(hào)
vim /etc/fatab 將/dev/sdb1設(shè)備掛載到/home寫入fatab文件啟動(dòng)掛載
UUID=b054a2ea-bdd4-4ae9-911a-a85bb102879d /home ext4 defaults 0 0
mount -a 將/dev/sdb1掛載到了/home目錄朋鞍,即完成了家目錄遷移到/dev/sdb1分區(qū)下已添,而/dev/sdb1掛載點(diǎn)/mnt/home中的數(shù)據(jù)也同步到/home下
ls /home 查看/home下是否有數(shù)據(jù),即/dev/sdb1是否掛載成功
umount /mnt/home 過度掛載點(diǎn)目錄此時(shí)已經(jīng)可以卸載
-
將家目錄回遷到/目錄下 (此過程最好也在單用戶下進(jìn)行)
init 1 mkdir /mnt/home mount /dev/sdb1 /mnt/home umount /home cp -av /mnt/home/* /home vim /etc/fstab 將UUID=b054a2ea-bdd4-4ae9-911a-a85bb102879d /home ext4 defaults 0 0 刪除 reboot
-
控制用戶danran和danran組使用/home空間的大小滥酥,/home必須為一個(gè)獨(dú)立的分區(qū)才能使用更舞,/home掛載在/devsdb1分區(qū)上
blkid /dev/sdb1 顯示/dev/sdb1分區(qū)的UUID號(hào) vim /etc/fstab 將/dev/sdb1掛載到/home下,usrquota啟用用戶配額功能坎吻,grpquota為啟用組配額功能 UUID=b054a2ea-bdd4-4ae9-911a-a85bb102879d /home ext4 usrquota,grpquota 0 0 mount -o remount /home 重新掛載/home
mount 查看/home是否已經(jīng)啟用usrquota和grpquota配額特性
quotacheck -cug /home 初始化配額數(shù)據(jù)庫(kù)缆蝉,u為初始化用戶數(shù)據(jù)庫(kù),g為初始化組數(shù)據(jù)庫(kù)
setenforce 0 若數(shù)據(jù)庫(kù)初始化失敗則執(zhí)行這條命令瘦真,關(guān)閉SELinux功能
ls /home 檢查配額數(shù)據(jù)庫(kù)是否初始化成功 若有aquota.group和aquota.user兩個(gè)二進(jìn)制文件生成表示數(shù)據(jù)庫(kù)初始化成功
quotaon -p /home 查看磁盤配額數(shù)據(jù)庫(kù)是否啟用
quotaon /home 開啟磁盤配額數(shù)據(jù)庫(kù)
quotaon -p /home
① 交互式編輯用戶磁盤配額:
edquota danran 編輯配置空間使用額度(以K為單位)刊头,soft為提醒狀態(tài),hard為強(qiáng)制報(bào)錯(cuò)狀態(tài) inodes為節(jié)點(diǎn)數(shù)诸尽,后兩個(gè)soft和hard是控制文件格式原杂,前兩個(gè)控制空間大小
限制danran用戶使用/home空間大小為80M,當(dāng)使用超過50M時(shí)提醒用戶您机,當(dāng)文件數(shù)超過100個(gè)時(shí)提醒用戶穿肄,但不強(qiáng)制報(bào)錯(cuò)退出
su - danran 切換到danran用戶
dd if=/dev/zero of=110M bs=2M count=55 創(chuàng)建110M的f1文件
文件的所有者為danrna用戶年局,超出了danran用戶使用/home空間的限制,所以報(bào)錯(cuò)退出被碗,修改文件的所有者和所屬組某宪,則danran用戶使用的空間恢復(fù),由此得出結(jié)論為文件的配額限制是根據(jù)文件所有者和所屬組判斷的。
quota danrna 查看danran用戶的磁盤配額
repquota /home 顯示/home分區(qū)上的配額使用情況
Block grace time:7days 表示有效期7天锐朴,7天之后soft將變?yōu)閔ard使用
交互式編輯組空間配額
edquota -g danran 對(duì)danran組設(shè)置空間配額
usermod -G danran dan 將dan用戶添加進(jìn)danran組中
id dan
su - dan 切換到dan用戶
dd if=/dev/zero of=f1 bs=2M count=50 發(fā)現(xiàn)沒有報(bào)錯(cuò)空間限制
ll f1 列出f1文件的詳細(xì)信息兴喂,發(fā)現(xiàn)文件的所有者和所屬組都是dan用戶,而dan用戶和組沒有限制使用額度
id 發(fā)現(xiàn)danran僅是dan用戶的附加組焚志,而不是所屬組
newgrp danran 臨時(shí)將dan用戶的所屬組更換為danran
id dan dan用戶的所屬組臨時(shí)更換為了danran
dd if=/dev/zero of=f2 bs=1M count=120 這次發(fā)現(xiàn)報(bào)錯(cuò)衣迷,超出了block limit
ll f2 可以發(fā)現(xiàn)f2文件的所屬組為danran
由此發(fā)現(xiàn),設(shè)置組的空間使用額度時(shí)表示的是所屬組而不是附加組
②非交互式設(shè)置空間配額
setquota danran 150000 200000 0 100 /home 非交互式配置danran用戶的使用/home的最大空間為200M酱酬,達(dá)到150M時(shí)提醒用戶壶谒,當(dāng)文件數(shù)目達(dá)到100個(gè)時(shí)報(bào)錯(cuò)退出,并且退出前不提醒用戶
quota danran 顯示danran用戶的空間配額
setquota -g danran 100000 150000 0 0 /home
edquota/quota -g danran 顯示danran組的空間配額
-
配置dan用戶的磁盤配額跟danran用戶一致
edquota -p danran dan quota/edquota dan