對于一個真實的運行環(huán)境而言,配置和啟用文件服務(wù)器都是很有必要的,。把重要的數(shù)據(jù)集中存儲和管理,,其安全性顯然比分布存儲要可靠得多。為此,,建議系統(tǒng)管理員配制和啟用文件服務(wù)器作為基本的管理策略,。
根據(jù)使用的方式來看,可以分為3種類別的文件服務(wù)器:ftp服務(wù)器(ftp/tftp),、
Samba服務(wù)器,、NFS服務(wù)器。ftp的客戶可以是任意平臺,,samba是專門針對windows客戶,,而NFS則是面向linux/unix用戶的。
下面是三種服務(wù)器的對比情況:
服務(wù)器名稱 用戶客戶端平臺 使用范圍 服務(wù)端口
FTP Windows/linux/unix/macOS等 發(fā)布網(wǎng)站,,文件共享 Tcp/21
Samba Windows 文件共享(網(wǎng)上鄰居) Tcp/445,tcp/139
NFS Linux/unix 網(wǎng)站發(fā)布,,文件共享(mount) Tcp/2049
接下來我們就逐個來配置和運行這些服務(wù)器。
NFS服務(wù)器
NFS是SUN Microsystem公司開發(fā)的網(wǎng)絡(luò)文件系統(tǒng),,它是一種基于遠(yuǎn)程過程調(diào)用(RPC)的分布式文件系統(tǒng)架構(gòu),。與Samba相比較,,NFS的數(shù)據(jù)吞吐能力更強。
1,、 用命令 # rpm –qa | grep nfs檢查軟件包NFS是否安裝 ,如果輸出沒有輸出,,表明沒有被安裝,請自行安裝之,。
2,、
配置NFS服務(wù)器。用任何文本編輯器配置文件/etc/exports,來確定需要給客戶共享的目錄,。它的基本格式為 Directory
Host(options) # comments ,這3個字段/列要在一行,,directory與host(options)之間要有間隙,#
comments
可有可無,。主機選項主要是給與掛接用戶什么樣的權(quán)限,。目錄directory表示要共享出去的目錄,值得注意的是,,在啟用NFS服務(wù)以前,,系統(tǒng)管理員應(yīng)該
仔細(xì)一些,比如不小心共享了根目錄/,,并且給與用戶讀寫權(quán)限,,這是十分糟糕的問題。因此,,盡可能少的共享目錄和賦予較小的訪問權(quán)限,。主機名host是一個
很靈活的項目,可以是單個的主機名稱(由/etc/hosts得到),,主機ip地址,,由域名服務(wù)器解析的主機名稱,IP網(wǎng)絡(luò)—網(wǎng)絡(luò)號和子網(wǎng)掩碼中間用
“/”連接,,NIC等,。下面列舉一個例子。
/home/sery sery(r,w) #把目錄/home/sery共享給主機sery,并且主機對目錄#/home/sery有讀寫權(quán)限
/tmp 192.168.100.18(ro) #主機192.168.100.18對目錄/tmp具備只讀共#享權(quán)限
/media/cdrom 192.168.100.0/255.255.255.0(r,o) #整個網(wǎng)絡(luò)有讀取掛接在NFS
#服務(wù)器上的光驅(qū)光盤的讀取權(quán)限
3,、 啟用NFS服務(wù),。分兩步:首先啟用portmap,然后啟用NFS服務(wù)。# service portmap start;
# service nfs start,。其中portmap的功能是啟用遠(yuǎn)程過程調(diào)用,,有時啟用NFS不能成功,不妨檢查一下portmap服務(wù)是否啟動(# ps aux | grep portmap),。
4,、
在客戶端掛接NFS共享出來的目錄。先在客戶端創(chuàng)建一個掛接點,,如 # mkdir /mnt/nfs
,而后使用命令把nfs服務(wù)器共享出來的目錄掛接上,,以第2步那個共享為例,,我們掛接目錄 /tmp , # mount –t nfs
192.168.100.100:/tmp /mnt/nfs //假定nfs服務(wù)器的ip地址是192.168.100.100。
5,、 訪問NFS共享資源,。接上步,改變文件目錄 # cd /mnt/nfs就方便地實現(xiàn)了對nfs服務(wù)器目錄/tmp的遠(yuǎn)程訪問,。
6,、 卸載NFS文件系統(tǒng)。在客戶端執(zhí)行命令 # umount /mnt/nfs 就卸下了第4步掛接的NFS文件系統(tǒng),。
7,、
其他事項。前面我們描述了在客戶段用手工掛接NFS文件系統(tǒng)的操作,,有的場合可能需要自動實現(xiàn)對NFS的掛接操作,;修改文件/etc/fstab,把掛接
項插入進(jìn)去就可以了。對一個有較多連接的NFS服務(wù)器而言,,有這樣一個問題—用戶在使用完掛接的文件系統(tǒng)后,,并不會總記得卸載掉NFS掛接,這必然會增大
NFS服務(wù)器的維護(hù)工作量以及白白占用有限的系統(tǒng)和網(wǎng)絡(luò)資源,;解決這個問題的辦法是使用自動掛接器(automounter),。關(guān)于自動掛接器屬于性能調(diào)
優(yōu)的范疇,在此不做描述,。
Samba服務(wù)器
這個世界既非只有l(wèi)inux/unix,也不是由microsoft windows
獨霸天下的格局,。也許出于linux/unix與windows既競爭又共存的事實,,人們開發(fā)了
linux給windows用戶提供文件共享的工具Samba,,這應(yīng)該算得上linux的開放精神吧!
1,、 檢查是否安裝samba軟件包,。# rpm –qa | grep smb ,如果沒有則自行安裝samba,。
2,、
修改配置文件/etc/samba/smb.conf。早期的linux版本的配置文件smb.conf的安全選項“security=share”,這
個默認(rèn)值是個安全隱患,,不過現(xiàn)在流行的linux版本的安全選項的默認(rèn)值是“security=user”,。如果只想用戶對他的目錄擁有只讀權(quán)限,就把選
項“writeable=yes”改成“read
only=yes”,。其他的選項根據(jù)自己的要求更改即可,。對于一般的應(yīng)用而言,基本上不用修改這個文件,。
3,、 添加系統(tǒng)賬戶,。由于smb的訪問是使用系統(tǒng)賬號進(jìn)行的,因此添加賬號是必不可少的,。這個比較簡單,,用命令 # useradd sery , # passwd sery,就可以依次添加若干系統(tǒng)賬號,。
4,、 建立Samba用戶密碼文件。雖然samba的用戶是系統(tǒng)用戶,,但出于安全考慮,,samba用戶的密碼并非創(chuàng)建系統(tǒng)用戶時設(shè)定的用戶密碼。為了生成smb所需的密碼,,應(yīng)該進(jìn)行下面的操作:
# cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
# smbpasswd sery //為系統(tǒng)用戶設(shè)置smb口令
# chown root.root /etc/samba/smbpasswd
# chmod 600 /etc/samba/smbpasswd //不準(zhǔn)別的用戶訪問
5,、 啟用Samba服務(wù)器。我比較喜歡用 # service smb start 這種方式,。
6,、 檢查服務(wù)是否正常啟動。# service smb status 或者 # ps aux | grep smb,。
7,、
windows客戶端訪問
Samba服務(wù)器共享目錄。在windows環(huán)境下,,右鍵點擊“網(wǎng)上鄰居”圖標(biāo),,然后左擊“搜索計算機”,把Samba服務(wù)器的IP地址填寫在“計算機
名”搜索欄,,點擊立即搜索,。找到后雙擊圖標(biāo),然后輸入在Samba服務(wù)器上預(yù)先設(shè)定的用戶名和密碼,,就能合法訪問Samba服務(wù)器設(shè)定的共享資源,。為了方
便使用,可以把Samba服務(wù)器提供的共享目錄映射成本地驅(qū)動器,。
8,、 其他。上述配置的samba服務(wù)器,,用戶的訪問共享目錄是系統(tǒng)賬號的主目錄,。要想把共享目錄設(shè)置到其他位置,修改Samba 的配置文件/etc/samba/smb.conf文件即可,。
FTP服務(wù)器
在linux
環(huán)境下,,有三個主要的FTP服務(wù)器:vsftpd、proftpd和wu-ftpd,。因為安全方面的原因,,vsftpd目前已經(jīng)牢牢的占據(jù)了主導(dǎo)地位,。從
字面上我們就可以理解vsftpd所具備的主要特征—very
secure(非常安全之ftp)。資料表明:1,、使用ASCII方式下載文件,,在1G以太網(wǎng)上的下載速度可以達(dá)到86M/s。2,、vsftpd可以支持
15000個并發(fā)用戶的訪問,。
1、 檢查是否安裝vsftp包,。# rpm –qa | grep vsftpd,。如果沒有則安裝它。
2,、
修改配置文件,。Vsftpd的配置文件為/etc/vsftpd/vsftpd.conf,如果不打算提供匿名訪問的話,需要修改配置文件
/etc/vsftpd/vsftpd.conf的項“anonymous_enable=Yes”為“anonymous_enable=No”,。
3,、 啟用vsftpd服務(wù)。#service vsftpd start,。
4,、 客戶端連接訪問??梢允菍S玫膄tp客戶端工具,,也可以使用瀏覽器。用工具訪問vsftpd服務(wù)器的速度要比用瀏覽器快很多,。
5,、 vsftpd服務(wù)器的用戶。Vsftpd服務(wù)器支持三種類型的擁護(hù):本地用戶(擁有系統(tǒng)賬號),、虛擬用戶(guest),、匿名賬號,;系統(tǒng)管理員應(yīng)該根據(jù)安全需求來確定vsftpd服務(wù)器的用戶訪問策略,。
TFTP服務(wù)器
Tftp服務(wù)器主要用于遠(yuǎn)程系統(tǒng)引導(dǎo)或遠(yuǎn)程備份象CISCO這樣的網(wǎng)絡(luò)設(shè)備的配置文件,例如tftp服務(wù)器與DHCP,、FTP服務(wù)器相配合,,就可以成為一組linux安裝服務(wù)器,以利于進(jìn)行大規(guī)模的網(wǎng)絡(luò)安裝linux操作系統(tǒng),。
與上文提及的幾種服務(wù)器不同,,tftp服務(wù)器是由超級守護(hù)進(jìn)程xinetd運行的。這使的tftp服務(wù)器的配置操作比獨立運行守護(hù)進(jìn)程的服務(wù)器(如
vsftpd)簡單很多,。一般情況下,,只要修改文件/etc/xinetd.d/tftp,把“disable =yes” 改成 “disable
=no”,而后保存重新啟動超級守護(hù)進(jìn)程xinetd , # service xinetd restart ,。
通過上面的實踐,盡管我們已經(jīng)能夠順利的完成各種文件服務(wù)器的搭建和運行,,也基本上可以滿足基本的用戶服務(wù)需求,,也許在實際的工作中,可能有更多的性能或
安全要求,。一個明顯的例子就是,,如果一個用戶的服務(wù)器使用的磁盤空間沒有做任何限制,那么他完全有可能把他從internet下載的連續(xù)劇上傳到他自己的
文件服務(wù)器目錄,,從而把有限空間的硬盤塞滿,。另外一個就是目錄和文件的權(quán)限問題,特別是以本地賬號(系統(tǒng)賬號)訪問文件服務(wù)器的情況,,如果授權(quán)不當(dāng),,將給
系統(tǒng)管理帶來極大的麻煩。
Linux所倡導(dǎo)的自由精神也同樣在這些服務(wù)器的配置操作中得以體現(xiàn),??梢酝ㄟ^修改這些服務(wù)器的配置文件來滿足特定的需求,而且這些修改是非常靈活的,。比如vsftpd服務(wù)器的配置文件/etc/vsftpd/vsftpd.conf就有很多項目可以修改,。
附表:幾種文件服務(wù)器的維護(hù)
服務(wù)器名稱
啟動腳本
守護(hù)進(jìn)程
配置文件
NFS /etc/init.d/nfs
/etc/init.d/nfslock /usr/sbin/rpc.nfsd
/usr/sbin/rpc.mountd /etc/exports
Samba /etc/init.d/smb
/etc/init.d/winbind /usr/sbin/smbd
/usr/sbin/nmbd /etc/samba/smb.conf
vsftpd /etc/xinetd.d/vsftpd /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
|