企業安全分享:Linux文件系統安全攻略
Linux支持的文件系統種類繁多,他們為用戶的數據存儲和管理提供了良好的操作和使用界面。在文件系統中,存在著文件/目錄訪問權限管理和控制、加密文件系統等的安全機制和問題需要考慮,本文將詳細介紹保證Linux文件系統安全的技術和方法。
Linux中的文件系統類型
隨著Linux的不斷發展,其所能支持的文件格式系統也在迅速擴充。特別是Linux2.6內核正式推出后,出現了大量新的文件系統,其中包括日志文件系統Ext4、Ext3、ReiserFS、XFS、JFS和其他文件系統。Linux系統核心可以支持十多種文件系統類型:JFS、ReiserFS、Ext、Ext2、Ext3、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV、PROC等。
文件系統安全性對比
從自動修復損壞的文件系統來看,ext2、ext3都能自動修復損壞的文件系統,也都是在開機時進行。ext2和ext3文件系統在默認的情況下是“每間隔21次掛載文件系統或每180天,就要自動檢測一次。通過實踐來看ext2和ext3在自動檢測上是存在風險,有時文件系統開機后就進入單用戶模式,并且把整個系統“扔”進lost+found目錄,如果要恢復系統,就得用fsck來進行修復;當然fsck也同樣存在風險;所以對ext2和ext3文件系統的使用,對新手來說的確需要心里準備;畢竟修復已經損壞的ext2和ext3文件系統是有困難的;另外ext2和ext3文件系統對于意外關機和斷電,也可能導致文件系統損壞,所以我們在使用過程中,必須是合法關機;比如執行poweroff指令來關掉機器。
從文件系統的反刪除來看,ext2支持反刪除,對于一般使用者來說應該是安全的,但對于保密單位來說可能意味著不安全。從反刪除角度來說明文件系統的安全性,也是有兩方面。如果用戶的工作是從事比較機密的,用ext3比較好,因為ext3一旦刪除文件,是不可恢復的,因為反刪除能恢復相應的絕秘資料的泄秘,所以ext3可能更適合從事機密工作的用戶。
新型的Ext4文件系統
Ext4是Linux內核版本2.6.28的重要部分。它是Linux文件系統的一次革命。在很多方面,Ext4相對于Ext3的進步要遠超過Ext3相對于Ext2的進步。Ext3相對于Ext2的改進主要在于日志方面,但是Ext4相對于Ext3的的改進是更深層次的,是文件系統數據結構方面的優化。一個高效的、優秀的、可靠的和極具特點的文件系統就此誕生。目前,該文件系統并未在所有的Linux發行套件中完全普及使用,還處于初期的測試階段。
安全設定文件/目錄訪問權限
Linux系統中的每個文件和目錄都有訪問許可權限,通過其確定誰可以通過何種方式對文件和目錄進行訪問和操作。下面將對文件/目錄訪問的方法和命令進行介紹。
文件或目錄的訪問權限分為只讀,只寫和可執行三種。以文件為例,只讀權限表示只允許讀其內容,而禁止對其做任何的更改操作;只寫權限允許對文件進行任何的修改操作;可執行權限表示允許將該文件作為一個程序執行。文件被創建時,文件所有者自動擁有對該文件的讀、寫和可執行權限,以便于對文件的閱讀和修改。用戶也可根據需要把訪問權限設置為需要的任何組合。
有三種不同類型的用戶可對文件或目錄進行訪問:文件所有者,同組用戶、其他用戶。所有者一般是文件的創建者。它可以允許同組用戶有權訪問文件,還可以將文件的訪問權限賦予系統中的其他用戶。在這種情況下,系統中的每一位用戶都能訪問該用戶擁有的文件或目錄。
每一個文件或目錄的訪問權限都有三組,每組用三位表示,分別為文件屬主的讀、寫和執行權限;與屬主同組的用戶的讀、寫和執行權限;系統中其他用戶的讀、寫和執行權限(如圖1所示)。當用ls-l命令顯示文件或目錄的詳細信息時,最左邊的一列為文件的訪問權限。例如:
橫線代表空許可(即表示不具有該權限)。r代表只讀,w代表寫,x代表可執行。注意:這里共有10個位置。第1個字符指定了文件類型。在通常意義上,一個目錄也是一個文件。如果第1個字符是橫線,表示是一個非目錄的文件。如果是d,表示是一個目錄。后面的9個字符每三個構成一組,依次表示文件主、組用戶、其他用戶對該文件的訪問權限。
例如:
表示文件sobsrc.tgz的訪問權限,說明sobsrc.tgz是一個普通文件;sobsrc.tgz的屬主有讀寫權限;與sobsrc.tgz屬主同組的用戶只有讀權限;其他用戶也只有讀權限。
確定了一個文件的訪問權限后,用戶可以利用Linux系統提供的chmod命令來重新設定不同的訪問權限。也可以利用chown命令來更改某個文件或目錄的所有者。
▲圖1.文件/目錄訪問權限示意圖
1、改變文件/目錄的訪問權限
chmod命令用于改變文件或目錄的訪問權限,它是一條非常重要的系統命令。用戶可用其控制文件或目錄的訪問權限。
該命令有兩種用法。一種是包含字母和操作符表達式的文字設定法;另一種是包含數字的數字設定法。
文字設定法
文字設定法的一般使用形式為:chmod[who][+|-|=][mode]文件名。其中,操作對像who可以是下述字母中的任一個或者為各字母的組合:
表示“用戶(user)”,即文件或目錄的所有者。
表示“同組(group)用戶”,即與文件屬主有相同組ID的所有用戶。
表示“其他(others)用戶”。
表示“所有(all)用戶”。其為系統默認值。
操作符號可以是:
添加某個權限。
取消某個權限。
賦予給定權限并取消其他所有權限(如果有的話)。
設置mode所表示的權限可用下述字母的任意組合:
可讀。
可寫。
可執行。只有目標文件對某些用戶是可執行的或該目標文件是目錄時才追加x屬性。
在文件執行時把進程的屬主或組ID置為該文件的文件屬主。方式“u+s”設置文件的用戶ID位,“g+s”設置組ID位。
將程序的文本保存到交換設備上。
與文件屬主擁有一樣的權限。
與和文件屬主同組的用戶擁有一樣的權限。
與其他用戶擁有一樣的權限。
如果在一個命令行中可給出多個權限方式,其間用逗號隔開。圖2給出了使用該設定法的例子:
▲圖2.chmod命令文字設定法使用示例
首先,設定文件test1的屬性為:文件屬主(u)增加執行權限;與文件屬主同組用戶(g)增加執行權限;其他用戶(o)增加執行權限,其命令為:
接著,設定文件test2的屬性為:文件屬主(u)增加寫權限;與文件屬主同組用戶(g)增加寫權限;其他用戶(o)刪除執行權限,其命令為:
最后,對可執行文件test3添加s權限,使得執行該文件的用戶暫時具有該文件擁有者的權限:
在上述例子中,當其他用戶執行test3這個程序時,他的身份將由于這個程序而暫時變成該test3程序的擁有者(由于chmod命令中使用了s選項),所以他就能夠讀取test3.c文件(雖然這個文件被設定為其他人不具備任何權限),這就是s的功能。在整個系統中特別是root本身,最好不要過多地設置這種類型的文件(除非必要),這樣可以保障系統的安全,避免因為某些程序的bug而使系統遭到入侵。
數字設定法
數字設定法是與文字設定法功能等價的設定方法,只不過比文字設定法更加簡便。數字表示的屬性的含義為:0表示沒有權限,1表示可執行權限,2表示可寫權限,4表示可讀權限,然后將其相加。所以數字屬性的格式應為3個從0到7的八進制數,其順序是(u)、(g)、(o)。其他的與文字設定法基本一致。
如果想讓某個文件的屬主有“讀/寫”二種權限,須要把4(可讀)+2(可寫)=6(讀/寫)。
數字設定法的一般形式為:chmod[mode]文件名。圖3給出使用該數字設定法的例子:
▲圖3.chmod命令數字設定法示意
可以看到,圖3中設定文件test1的屬性為:文件屬主(u)擁有讀、寫權限;與文件屬主同組人用戶(g)擁有讀權限;其他人(o)擁有讀權限,而設定test2這個文件的屬性為:文件主本人(u)具有可讀/可寫/可執行權限;與文件主同組人(g)可讀/可執行權;其他人(o)沒有任何權限。
2、更改文件/目錄的所有權
該命令用來更改某個文件或目錄的屬主和屬組。舉個例子,root用戶把自己的一個文件拷貝給用戶xu,為了讓用戶xu能夠存取這個文件,root用戶應該把這個文件的屬主設為xu,否則,用戶xu無法存取這個文件。
該命令的使用形式為:chown[選項]用戶或組文件
Chown的功能是將指定文件的擁有者改為指定的用戶或組。用戶可以是用戶名或用戶ID。組可以是組名或組ID。文件是以空格分開的要改變權限的文件列表,支持通配符。該命令的選項為:
R:遞歸地改變指定目錄及其下面的所有子目錄和文件的擁有者。
v:顯示chown命令所做的工作。
圖4給出了使用該命令的例子,筆者把文件test1的所有者改為super,把目錄./test_dir及其下面的所有文件和子目錄的屬主改成super,屬組改成super。
▲圖4.chown命令使用示意
3、改變文件的執行權限
通過前面的介紹我們知道,Linux系統中的每一個文件都有一個所有者,表示該文件是誰創建的。同時,該文件還有一個組編號,表示該文件所屬的組,一般為文件所有者所屬的組。并且,在一般情況下,我們也可以通過設定對文件的權限來控制對其的相關操作。
在此情況中,如果是一個可執行文件,那么在執行時,一般該文件只擁有調用該文件的用戶具有的權限。而setuid/setgid則可以來改變這種設置:
setuid:設置使文件在執行階段具有文件所有者的權限。典型的文件是/usr/bin/passwd。如果一般用戶執行該文件,則在執行過程中,該文件可以獲得root權限,從而可以更改用戶的密碼
setgid:該權限只對目錄有效。目錄被設置該位后,任何用戶在此目錄下創建的文件都具有和該目錄所屬的組相同的組。
stickybit:該位可以理解為防刪除位。一個文件是否可以被某用戶刪除,主要取決于該文件所屬的組是否對該用戶具有寫權限。如果沒有寫權限,則這個目錄下的所有文件都不能被刪除,同時也不能添加新的文件。如果希望用戶能夠添加文件但同時不能刪除文件。則可以對文件使用stickybit位。設置該位后,j即便用戶對目錄具有寫權限,也不能刪除該文件。
在前面我們討論了通過文字設定和數字設定的方法來設定文件/目錄的訪問權限問題,同樣的道理,下面我們通過這兩種方法來介紹如何操作這些標志。操作這些標志與操作文件權限的命令是一樣的,都是使用chmod命令來進行:
文字設定法
chmodu+sfilename:為文件filename加上setuid標志。
chmodg+sdirname:為目錄dirname目錄加上setgid標志。
chmodo+tfilename:為文件filename加上sticky標志。
數字設定法
對一般文件通過三組八進制數字來置標志,如444、777、644等。如果設置這些特殊標志,則在這組數字之前外加一組八進制數字。如4666、4777等。這一組八進制數字三位的意義如下:
setuid位:如果該位為1,顯示為“S”,則表示設置setuid,其顯示在原來的x標志位上;
setgid位:如果該位為1,顯示為“S”,則表示設置setgid,其顯示在原來的x標志位上;
sticky位:如果該位為1,顯示為“T”,則表示設置sticky,其顯示在原來的x標志位上。
設置完這些標志后,可以用ls–l命令來查看。如果有這些標志,則會在原來的執行標志位置上顯示。如下所示:
r-srw-r--:表示有setuid標志;
rwxrwsrw-:表示有setgid標志;
rwxrw-rwt:表示有sticky標志。
如果本來在該位上有x,則這些特殊標志顯示為小寫字母(s,s,t)。否則,顯示為大寫字母(S,S,T)。
另外非常值得讀者注意的是,雖然setuid/setgid機制非常方便實用,但是由于提升了執行者的權限,因而不可避免地存在許多安全隱患和風險,所以作者并不太贊成廣大讀者廣泛使用,并且,在實際的系統管理過程中,我們還經常需要找出設置有這些標志的文件,并對他們進行檢查和清理,那么,一般我們可以使用如下命令來對系統中的具有特殊標志的文件進行尋找:
使用額外屬性保護ext3文件系統安全
1、ext3中的額外屬性
從Linux的1.1系列內核開始,ext2文件系統就開始支持一些針對文件和目錄的額外標記或者叫作屬性(attribute)。在2.2和2.4系列及其高版本的內核中,ext3文件系統支持以下屬性的設置和查詢(如表1所示):
▲表1.ext3文件系統支持的屬性含義
雖然文件系統能夠接受并保留指示每個屬性的標志,但是這些屬性不一定有效,這依賴于內核和各種應用程序的版本。表2顯示了Linux每個版本內核支持的屬性標志的具體情況,其中:
OK:表示允許設置這個標志并使設置生效;
POK:允許設置這個標志但忽略其值;
——:表示完全忽略這個標志。
▲表2.Linux各內核版本對屬性的支持情況
從上述表格可以看出:雖然早期的內核版本支持安全刪除特征,但是從1.3系列的內核開始,開發者拋棄的對這個特征的實現,因為它似乎只能夠提高一點點的安全性,而糟糕的是它會給不熟悉安全刪除繼承問題的用戶造成安全的假象。在對具有A屬性的文件進行操作時,A屬性可以提高一定的性能。而S屬性能夠最大限度的保障文件的完整性。
因此,我們將主要討論a屬性和i屬性,因為這兩個屬性對于提高文件系統的安全性和保障文件系統的完整性有很大的好處。同樣,一些開放源碼的BSD系統(比如FreeBSD和OpenBSD),在其UFS或者FFS實現中也支持類似的特征。
2、使用ext3文件系統的屬性
在任何情況下,標準的ls命令都不會一個文件或者目錄的擴展屬性。ext3文件系統工具包中有兩個工具:chattr和lsattr。它們被專門用來設置和查詢文件屬性。因為ext3是標準的Linux文件系統,因此幾乎所有的發布都有e2fsprogs工具包。如果由于某些原因,系統中沒有這個工具,用戶可以從以下地址下載這個工具包的源代碼編譯并安裝:http://sourceforge.net/projects/e2fsprogs。
Lsattr命令
lsattr命令只支持很少的選項,其選項如下:
a:列出目錄中的所有文件,包括以.開頭的文件。
d:以和文件相同的方式列出目錄,并顯示其包含的內容。
R:以遞歸的方式列出目錄的屬性及其內容。
v:列出文件版本(用于網絡文件系統NFS)。
Chattr命令
chattr命令可以通過以下三種方式執行:
chattr+Sifilename:給文件添加同步和不可變屬性。
chattr-aifilename:把文件的只擴展(append-only)屬性和不可變屬性去掉。
chattr=aiAfilenamet:使文件只有a、i和A屬性。
最后,每個命令都支持-R選項,用于遞歸地對目錄和其子目錄進行操作。
3、ext3屬性和文件權限的區別
幾乎所有的系統管理員都理解Linux風格文件系統的權限和所有者以及ls命令的顯示,如圖5所示:
▲圖5.ls顯示結果
從ls的輸出結果看,這些文件屬于用戶super,而super所在的用戶組是super。用戶super本人和super用戶組的成員對test2和test3具有對文件的修改權限,而其他的用戶對test1、test2、test3均只有讀取文件的權限。圖6給出了與圖5對比的lsattr命令的輸出:
▲圖6.lsattr顯示結果
輸出結果顯示,test2只能被添加,而test1文件不準修改。在Linux系統中,如果一個用戶以root的權限登錄,文件系統的權限控制將無法對root用戶和以root權限運行的進程進行任何的限制。這樣對于Linux類的操作系統,如果攻擊者通過遠程或者本地攻擊獲得root權限將可能對系統造成嚴重的破壞。而ext3文件系統可以作為最后一道防線,最大限度地減小系統被破壞的程度,并保存攻擊者的行蹤。ext3屬性是由sys_open()和sys_truncate()等系統調用檢查和賦予的,不受用戶識別號和其他因素的影響,在任何情況下,對具有不可修改(immutable)屬性的文件的進行任何修改都會失敗,不管是否是root用戶進行的修改。
但是,還有一個問題是root權限的用戶可以通過刪除i屬性實現對文件的修改。這種防護只不過給獲得root權限的攻擊者加了一點小麻煩罷了,系統的安全性并沒有根本性的提高。
在2.1之前的內核版本中,存在一個安全層(securelevel)的特征。使用安全層可以解決上述問題,因為如果系統的安全層大于0,內核將不允許對任何文件的i屬性進行修改。這些版本的內核由sysctl命令的"kernel.securelevel"變量進行控制。如果在啟動時,這個變量的值被設置為1或者更大的值,內核將不允許對具有i屬性和a屬性文件進行修改,除非國旗動到單用戶狀態。但是,由于引入了更為靈活的內核能力特征(kernelcapabilities),以后的內核不再支持安全層。使用內核能力,也可以實現類似的限制。工具lcap用來查詢和調整內核能力約束集(kernelcapabilitiesboundingset)。在啟動腳本中加入以下命令,就可以實現對具有i屬性和a屬性文件的保護:
第一個命令刪除任何用戶(包括超級用戶)對i標志的修改能力。第二個命令刪除任何用戶(主要針對超級用戶)對塊設備的原始訪問(rawaccess)能力,防止一些技術高超的攻擊者直接修改文件系統索引節點的immutable域。BTW,在系統啟動時,CAP_SYS_RAWIO能力應該直接刪除,這個能力是一個非常大的潛在威脅。高明的攻擊者獲得了超級用戶權限之后,通過/dev/kmem設備可以直接修改內核內存。通過這種方式,可以破壞系統的內核能力約束集(kernelcapabilitiesbounding)。如果沒有任何參數,會列出內核支持的能力和目前生效的內核能力。一旦一個內核能力被刪除,就只有在系統重新啟動,進入到單用戶模式才能刪除能力限制。
使用chattr
Linux主機直接暴露在Internet或者位于其它危險的環境,有很多shell帳戶或者提供HTTP和FTP等網絡服務,一般應該在安裝配置完成后使用如下命令:
如果很少對帳戶進行添加、變更或者刪除,把/home本身設置為immutable屬性也不會造成什么問題。在很多情況下,整個/usr目錄樹也應該具有不可改變屬性。實際上,除了對/usr目錄使用chattr-R+ii/usr/命令外,還可以在/etc/fstab文件中使用ro選項,使/usr目錄所在的分區以只讀的方式加載。另外,把系統日志文件設置為只能添加屬性(append-only),將使入侵者無法擦除自己的蹤跡。當然,如果使用這種安全措施,需要系統管理員修改管理方式。
由于軟件管理程序需要加入和刪除某些文件和目錄,因此在進行軟件安裝和升級之前需要刪除某些目錄和文件的immutable和append-only屬性。對于Linux系統,一般使用rpm管理軟件包,用戶可以使用以下命令查看要安裝或者升級的軟件包都有哪些文件:
然后去掉有關目錄和文件的immutable和append-only屬性。大多數軟件包需要rpm命令對以下目錄的一個或者多個進行寫操作
值得注意的是:如果用戶需要升級/usr/sbin/someprogram,應該去掉someprogram文件以及目錄/usr/sbin的immutable屬性。#p#
使用加密文件系統(EFS)
下面將詳細介紹利用dm-crypt來創建加密文件系統的方法。與其它創建加密文件系統的方法相比,dm-crypt系統有著無可比擬的優越性:它的速度更快,易用性更強。除此之外,它的適用面也很廣,能夠運行在各種塊設備上,即使這些設備使用了RAID和LVM也毫無障礙。dm-crypt系統之所以具有這些優點,主要得益于該技術是建立在2.6版本內核的device-mapper特性之上的。device-mapper是設計用來為在實際的塊設備之上添加虛擬層提供一種通用靈活的方法,以方便開發人員實現鏡像、快照、級聯和加密等處理。此外,dm-crypt使用了內核密碼應用編程接口實現了透明的加密,并且兼容cryptloop系統。
1、內核準備
dm-crypt利用內核的密碼應用編程接口來完成密碼操作。一般說來,內核通常將各種加密程序以模塊的形式加載。對于AES來說,其安全強度已經非常之高,即便用來保護絕密級的數據也足夠了。為了保證用戶的內核已經加載AES密碼模塊,請根據圖7所示命令進行檢查:
▲圖7.檢查AES模塊是否成功加載
否則,可以使用modprobe來手工加載AES模塊,命令如下所示:
接下來,用戶安裝dmsetup軟件包,該軟件包含有配置device-mapper所需的工具,如下命令所示:
為檢查dmsetup軟件包是否已經建立了設備映象程序,鍵入下列命令進行:
然后,需要使用如下命令加載dm-crypt內核模塊:
dm-crypt加載后,它會用evice-mapper自動注冊。如果再次檢驗的話,device-mapper已能識別dm-crypt,并且把crypt添加為可用的對象。執行完上述步驟后,用戶應該可以根據如下命令看到crypt的下列輸出,如圖8所示:
▲圖8.成功做好裝載加密設備的顯示
這說明系統已經為裝載加密設備做好了準備。下面,我們先來建立一個加密設備。
2、創建加密設備
要創建作為加密設備裝載的文件系統,有兩種選擇:一是建立一個磁盤映像,然后作為回送設備加載;二是使用物理設備。無論那種情況,除了在建立和捆綁回送設備外,其它操作過程都是相似的。
3、建立回送磁盤映象
如果用戶沒有用來加密的物理設備(比如存儲棒或另外的磁盤分區),作為替換,你可以利用命令dd來建立一個空磁盤映象,然后將該映象作為回送設備來裝載,照樣能用。下面我們以實例來加以介紹:
這里我們新建了一個大小為100MB的磁盤映象,該映象名字為virtual.img。要想改變其大小,可以改變count的值。
接下來,我們利用losetup命令將該映象和一個回送設備聯系起來:
現在,我們已經得到了一個虛擬的塊設備,其位于/dev/loop0,并且我們能夠如同使用其它設備那樣來使用它。
4、設置塊設備
準備好了物理塊設備(例如/dev/hda1),或者是虛擬塊設備(像前面那樣建立了回送映象,并利用device-mapper將其作為加密的邏輯卷加載),我們就可以進行塊設備配置了。
下面我們使用cryptsetup來建立邏輯卷,并將其與塊設備捆綁:
其中,ly_EFS是新建的邏輯卷的名稱。并且最后一個參數device_name必須是將用作加密卷的塊設備。所以,如果要使用前面建立的回送映象作為虛擬塊設備的話,應當運行以下命令:
無論是使用物理塊設備還是虛擬塊設備,程序都會要求輸入邏輯卷的口令,-y的作用在于要你輸入兩次口令以確保無誤。這一點很重要,因為一旦口令弄錯,就會把自己的數據鎖住,如圖9所示:
▲圖9.為EFS輸入密碼#p#
為了確認邏輯卷是否已經建立,可以使用下列命令進行檢查一下:
只要該命令列出了邏輯卷,就說明已經成功建立了邏輯卷。不過根據機器的不同,設備號可能有所不同,如圖10所示:
▲圖10.顯示成功建立的邏輯卷
device-mapper會把它的虛擬設備裝載到/dev/mapper下面,所以,你的虛擬塊設備應該是/dev/mapper/ly_EFS,盡管用起來它和其它塊設備沒什么不同,實際上它卻是經過透明加密的。
如同物理設備一樣,用戶也可以在虛擬設備上創建文件系統:
現在為新的虛擬塊設備建立一個裝載點,然后將其裝載。命令如下所示:
用戶能夠利用下面的命令查看其裝載后的情況,如圖11所示:
▲圖11.EFS成功裝載后的顯示
通過上述的步驟后,用戶看到裝載的文件系統,盡管看起來與其它文件系統無異,但實際上寫到/mnt/ly_EFS/下的所有數據,在數據寫入之前都是經過透明的加密處理后才寫入磁盤的,因此,從該處讀取的數據都是些密文。
5、卸載加密設備
要卸載加密文件系統,和平常的方法沒什么兩樣:
即便已經卸載了塊設備,在dm-crypt中仍然視為一個虛擬設備。如若不信,用戶可以再次運行如圖10所示的命令dmsetupls來驗證一下,將會看到該設備依然會被列出。因為dm-crypt緩存了口令,所以機器上的其它用戶不需要知道口令就能重新裝載該設備。為了避免這種情況發生,用戶必須在卸載設備后從dm-crypt中顯式的刪除該設備。命令具體如下所示:
此后,它將徹底清除,要想再次裝載的話,用戶必須再次輸入口令。
6、重新裝載加密設備
在卸載加密設備后,用戶很可能還需作為普通用戶來裝載它們。為了簡化該工作,需要在/etc/fstab文件中添加下列內容:
此外,用戶也可以通過建立腳本來替我們完成dm-crypt設備的創建和卷的裝載工作,方法是用實際設備的名稱或文件路徑來替換/dev/DEVICENAME:
如果用戶使用的是回送設備的話,用戶還可以利用腳本來捆綁設備,腳本如下所示:
7、在Linux系統安裝時使用EFS
上面介紹了使用dm-crypt來創建加密文件系統的方法,對于初級用戶來說,可能這個過程有些繁雜和不好理解。那么,本節將介紹一個非常簡單的方法來使用EFS文件系統。以Fedora10的安裝步驟為例子,選擇相關選項進行安裝就可以方便地進行使用了。
用戶可以在空閑空間新建分區,也可以選擇某個分區進行編輯,還可以刪除某些分區。在圖12中,需要選中[加密文件系統]選項,并且,根據系統要求,輸入訪問EFS所需要的密碼,如圖13所示。然后,根據第3章的介紹接下來一步一步按照系統的提示進行系統安裝即可。那么,在成功安裝系統后,用戶就擁有了一個安全的加密文件系統,并且,在每次登錄系統的時候,系統都會要求用戶輸入在圖13所示步驟中設定的密碼來進行安全訪問。
▲圖12.安裝時選中[加密系統(E)]選項
▲圖13.輸入EFS所需的密碼
【編輯推薦】