第二十一章 Linux係統管理員安全
一、安全管理 -- 安全管理主要分為四個方麵:
1.防止未授權存取:這是計算機安全最重要的問題:未被使用係統的人進入係統。用戶意識,良好的口令管理(由係統管理員和用戶雙方配合),登錄活動記錄和報告,用戶和網絡活動的周期檢查,這些都是防止未授權存取的關鍵。
2.防止泄密:這也是計算機安全的一個重要問題。防止已授權或未授權的用戶相互存取相互的重要信息。文件係統查帳,su登錄和報告,用戶意識,加密都是防止泄密的關鍵。
3.防止用戶拒絕係統的管理:這一方麵的安全應由操作係統來完成。一個係統不應被一個有意試圖使用過多資源的用戶損害。不幸的是,UNIX不能很好地限製用戶對資源的使用,一個用戶能夠使用文件係統的整個磁盤空間,而UNIX基本不能阻止用戶這樣做。係統管理員最好用PS命令,記帳程序df和du周期地檢查係統。查出過多占用CUP的進程和大量占用磁盤的文件。
4.防止丟失係統的完整性:這一安全方麵與一個好係統管理員的實際工作(例如:周期地備份文件係統,係統崩潰後運行fsck檢查,修複文件係統,當有新用戶時,檢測該用戶是否可能使係統崩潰的軟件)和保持一個可靠的操作係統有關(即用戶不能經常性地使係統崩潰)。本文其餘部分主要涉及前兩個問題,第三個問題在"安全查帳"一節討論。
二、超級用戶 -- 一些係統管理命令隻能由超級用戶運行。
超級用戶擁有其他用戶所沒有的特權,超級用戶不管文件存取許可方式如何,都可以讀,寫任何文件,運行任何程序。係統管理員通常使用命令:/bin/su 或以 root 進入係統從而成為超級用戶。在後麵文章中以#表示應敲入必須由超級用戶運行的命令,用$表示應敲入由所有其他用戶運行的命令。
三、文件係統安全
1.UNIX文件係統概述:UNIX文件係統是UNIX係統的心髒部分,提供了層次結構的目錄和文件。文件係統將磁盤空間劃分為每1024個字節一組,稱為塊(block)(也有用512字節為一塊的,如:SCO XENIX)。編號從0到整個磁盤的最大塊數。全部塊可劃分為四個部分,塊0稱為引導塊,文件係統不用該塊;塊1稱為專用塊,專用塊含有許多信息,其中有磁盤大小和全部塊的其它兩部分的大小。從塊2開始是i節點表,i 惚碇瀉衖節點,表的塊數是可變的,後麵將做討論。i節點表之後是空閑存儲塊(數據存儲塊),可用於存放文件內容。文件的邏輯結構和物理結構是十分不同的,邏輯結構是用戶敲入cat命令後所看到的文件,用戶可得到表示文件內容的字符流。物理結構是文件實際上如何存放在磁盤上的存儲格式。用戶認為自己的文件是邊疆的字符流,但實際上文件可能並不是以邊疆的方式存放在磁盤上的,長於一塊的文件通常將分散地存放在盤上。然而當用戶存取文件時,UNIX文件係統將以正確的順序取各塊,給用戶提供文件的邏輯結構。當然,在UNIX係統的某處一定會有一個表,告訴文件係統如何將物理結構轉換為邏輯結構。這就涉及到i節點了。i節點是一個64字節長的表,含有有關一個文件的信息,其中有文件大小,文件所有者,文件存取許可方式,以及文件為普通文件,目錄文件還是特別文件等。在i節點中最重要的一項是磁盤地址表。該表中有13個塊號。前10個塊號是文件前10塊的存放地址。這10個塊號能給出一個至多10塊長的文件的邏輯結構,文件將以塊號在磁盤地址表中出現的順序依次取相應的塊。當文件長於10塊時又怎樣呢?磁盤地址表中的第十一項給出一個塊號,這個塊號指出的塊中含有256個塊號,至此,這種方法滿足了至多長於266塊的文件(272,384字節)。如果文件大於266塊,磁盤地址表的第十二項給出一個塊號,這個塊號指出的塊中含有256個塊號,這256個塊號的每一個塊號又指出一塊,塊中含256個塊號,這些塊號才用於取文件的內容。磁盤地址中和第十三項索引尋址方式與第十二項類似,隻是多一級間接索引。這樣,在UNIX係統中,文件的最大長度是16,842,762塊,即17,246,988,288字節,有幸是是UNIX係統對文件的最大長度(一般為1到2M字節)加了更實際的限製,使用戶不會無意中建立一個用完整個磁盤窨所有塊的文件。文件係統將文件名轉換為i節點的方法實際上相當簡單。一個目錄實際上是一個含有 目錄表的文件:對於目錄中的每個文件,在目錄表中有一個入口項,入口項中含有文件名和與文件相應的i節點號。當用戶敲入catxxx時,文件係統就在當前目錄表中查找名為xxx的入口項,得到與文件xxx相應的i節點號,然後開始取含有文件xxx的內容的塊。