而筆者每次解決使用者的一個需求之後,總會有一種成就感。這不前不久筆者剛文成一個FTP伺服器的搭建。不過這個案例有點特殊,因為其FTP伺服器採用的作業系統是Linux。為此感悟就更多了。
心得一:為使用者指派組
FTP伺服器常用來放置一些工作檔案。為此網路系統管理員在部署FTP伺服器的時候,必須要注意其許可權的管理。也就是說,要做到使用者只能夠下載自己有權利查看的工作檔案;只能夠往指定的目錄中上傳檔案等等。而企業中員工很多。如果為每個員工分開來設定許可權,那麼工作兩會很大。為此在FTP伺服器管理中,最好也跟作業系統使用者一樣,以組為單位設定許可權,然後再將使用者加入到組中自動繼承相關的許可權。如此的話,如果10個使用者其權限類別似,那麼筆者只需要為他們建立一個組,然後對這個組進行一次使用權限設定即可。所以,通過組來系統管理使用者的話,可以簡化工作量,並實現統一管理的需要。
筆者這次採用的是vsftpd伺服器。這個伺服器安裝完成後已經為網路系統管理員建立好了三個組。一般來說,只要使用者權限管理不特別嚴格的話,那麼只需要採用這個預設的組即可。即使企業使用者對許可權管理比較苛刻,那麼也可以借鑒這幾個組許可權的設定,以此作為模板,進行適當調整後即可使用。在 vsftpd伺服器中,其預設的組分別為real組、guest組以及anonymous組。其中real組中這三個組中許可權最高的組。在這個組中的使用者,不僅可以訪問帳戶自己的主目錄,而且還可以訪問其他使用者的目錄。如現在有一個使用者amy。只要在FTP伺服器上建立這個帳戶後,作業系統會自動在 /home目錄下為這個使用者建立一個主目錄,即/home/amy。當使用者以這個帳戶登陸後,伺服器會將這個使用者的目錄當作其主目錄。但是這個使用者仍然可以訪問其他相關的目錄,即可以切換到其他主目錄中。其次guest組許可權也不小。這個組跟作業系統中的guest帳戶不同,其許可權要比這個帳戶多的多。如有些情況下,網路系統管理員可能要求某些使用者只能夠訪問自己的主目錄,而不能夠訪問別人的目錄。確實,這是FTP伺服器最基本的許可權控製法則。如果要實現這個控制的話,則只需要將使用者加入到這個guest組中即可。因為預設情況下,這個組中的使用者只能夠訪問自己的主目錄,而不得訪問主目錄以外的檔案。第三個組是anonymous組,即匿名組。預設情況下,這個組的許可權最小。其只能夠在受限的目錄中下載檔案,但是不能夠往FTP伺服器上上傳檔案。不過一般情況下,出於安全考慮,都是禁用這個組的。即當使用者沒有帳號時,無法從FTP伺服器上下載任何檔案。
心得二:為特定的應用設定組
在部署FTP伺服器的過程中,筆者發現有時候FTP伺服器不一定是使用者使用,系統管理員也可能需要使用這個FTP伺服器。如資料庫管理員需要使用FTP伺服器進行異地備份。即資料庫管理員先將資料庫執行本地備份。然後在備份成功後,再將備份檔案利用FTP協議傳送到異地的伺服器上。當然這些操作都是通過指令檔完成的,同時結合作業系統的任務調度功能來實現。
那麼這對於網路系統管理員部署FTP伺服器有什麼啟示呢?筆者接到這個需求後,第一個反應就是要為其設定獨立的組。主要是因為這些備份檔案往往是某個應用的精華所在。如果有使用者將這些備份檔案竊取了,然後再還原到自己的資料庫中的話,那麼企業的所有資訊,包括客戶、價格資訊等等就都泄露了。另外這些備份檔案也是日後應用伺服器出現故障時挽回資料的最後保障。如果這些備份檔案被惡意破壞了,則以後就很難利用這些備份檔案來最大程度的恢複資料。為此筆者來瞭解了這家企業的需求之後,就決定為這些使用者佈建獨立的組。由於這些使用者平時主要用來檔案的備份,而不做他用。為此筆者將這個組設定為只允許訪問自己的主目錄,而不能夠訪問其他目錄(參考guest組的設定)。這有什麼好處呢?如果企業現在有資料庫伺服器、郵件伺服器、OA伺服器等等,都需要通過FTP 伺服器實現異地備份。那麼筆者就可以設定三個使用者,分別屬於這個組。然後利用這三個帳戶分別將本地的備份檔案上傳到FTP伺服器中,以實現異地備份。由於這三個使用者各自只能夠訪問自己的目錄,為此彼此之間就相當於是獨立的。任何一個帳戶都不能夠看到其他一個帳戶上傳的檔案,也不能夠往其他使用者的主目錄中上傳檔案。這就給他們提供了一個相對獨立的工作環境,能夠減少他們異地備份的幹擾。
為此,筆者認為不僅要根據組來管理FTP伺服器使用者的許可權,而且有時候還需要根據FTP伺服器的用途,來設定獨立的組。如在可能會在指令碼程式中利用FTP協議,此時為他們設定獨立的組,防止其他普通使用者組對他們進行幹擾,這是很有必要的。
心得三:為不同的使用者佈建磁碟限額
在部署FTP伺服器的時候,還必須解決一個難題,即每個使用者最多可以往FTP伺服器上上傳多少容量的檔案。通常情況下,筆者建議要給使用者佈建一個最大空間的限額。因為一台FTP伺服器不只一個使用者使用。如果每個使用者都可以無限制的往FTP伺服器上上傳檔案,而又不及時清理的話,這台FTP伺服器的硬碟空間很快就會被佔滿。所以說,FTP伺服器對於普通使用者來說,其只是一個檔案的中轉站,而不是檔案到備份伺服器。所以說,需要根據使用者的需要,為其設定最大容量的限制。
在vsftpd伺服器中,可以在組的層級上為使用者佈建最大容量的限制。如可以為每個部門設定一個組,然後指定這個組中的使用者最多可使用的空間。如此的話,加入到這個組中的使用者就會自動受到這個大小的限制。到空間受到限制後,就會強迫使用者及時清理FTP伺服器中的內容。一些不用的檔案要及時的清理掉,這不但可以節省空間的,而且也是出於安全的考慮。另外,也可以為部門設定最大可用的空間。即為每個部門設定一個組,然後給組設定最大空間限制。然後加入到這個組中的使用者共用這塊空間(不是平均分配,而是共用)。這就給部門負責人更大的靈活性,其可以根據需要來管理這個空間。
心得四:限制某些帳戶使用FTP伺服器
其實對於大部分網路系統管理員來說,要管理員FTP伺服器還是一門不小的學問。如在某些情況下,就需要限制一些特殊的帳戶使用FTP伺服器。因為他們會危害FTP伺服器的安全。如在Linux作業系統上部署FTP伺服器,就需要限制root帳戶使用FTP伺服器。因為這個root帳戶其具有作業系統最高的系統管理權限。如果允許這個使用者訪問FTP伺服器,那麼後果就是,這個帳戶不會受到組許可權的限制。也就是說,即使將這個root帳戶分配給guest 組,這個帳戶仍然可以訪問主目錄以外的檔案。所以會破壞原有的安全體系。為此,無論在哪個作業系統上部署FTP伺服器,網路系統管理員都需要去瞭解作業系統帳戶中是否有類似的特權使用者。如果有的話,就需要禁止其訪問FTP伺服器。
可見,FTP伺服器雖然其部署比較簡單,發展到現在也已經比較成熟了。但是企業使用者的需求是在不斷改變的。為此網路系統管理員也需要應需而變,及時調整FTP部署策略,以滿足使用者的需求。