周雄慶
摘 要: 利用VMware Workstation虛擬機創(chuàng)建了FTP服務器仿真實驗平臺,在一臺安裝了vsftpd服務器軟件的Linux網絡操作系統作為FTP服務器,另一臺安裝了Windows XP的操作系統作為客戶端,實現了以匿名用戶和本地用戶的方式對FTP服務器進行訪問。
關鍵詞: vsftpd; FTP服務器; VMware
中圖分類號: TP 368.5,TP 302 文獻標志碼: A 文章編號: 1671-2153(2017)06-0094-03
0 引 言
FTP(File Transfer Protocol)是文件傳輸協議的簡稱,位于TPC/IP模型的應用層。FTP協議定義了一個在遠程計算機系統和本地計算機系統之間傳輸文件的一個標準,能夠工作在Windows,Linux及UNIX等操作系統中實現跨平臺的文件傳輸服務。
vsftpd(very secure FTP daemon)是一個基于GPL發(fā)布的、Red Hat Linux默認使用的FTP服務器軟件,其中的vs是very secure的縮寫,由此名稱縮寫可以看出,本服務器的初衷就是服務器的安全性。vsftpd可以同時允許匿名用戶(anonymous)與本地用戶(local)訪問。
本文描述了在 Linux 中使用 vsftpd服務器軟件,實現一個安全、高速、穩(wěn)定的FTP服務器的方法。
1 實驗平臺的搭建
由于實驗條件的限制,本文所討論的問題是在一臺裝有Windows7的物理計算機上利用VMware Workstation虛擬機軟件進行FTP服務器安全傳輸文件的設計與實現,首先,在虛擬機中安裝一臺具有CentOS網絡操作系統的虛擬機,命名為“FTPServer”,作為FTP服務器;再安裝一臺具有Windows XP操作系統的虛擬機,命名為“Client”,作為FTP客戶端,供測試使用。
在VMware Workstation中設置兩臺虛擬機的“網卡連接方式”為“內部網絡”,并給FTP服務器設置網絡參數為
IP地址:192.168.1.100;
子網掩碼:255.255.255.0;
默認網關:192.168.1.1。
給FTP客戶端設置一個與服務器相同網段的IP地址為192.168.1.2,子網掩碼和默認網關與FTP服務器相同。
在FTP服務器上安裝vsftpd服務器軟件,同時編輯相應的配置文件,并對vsftpd服務進行管理,使之功能生效;在FTP客戶端打開資源管理器輸入FTP網址后,通過匿名或本地用戶成功打開文件頁面,實現了一個安全、可靠的文件傳輸。
2 vsftpd服務的安裝與管理
2.1 vsftpd服務的安裝
默認情況下,在安裝CENTOS系統時不會自動安裝FTP服務器。vsftpd服務器軟件的安裝其實很簡單,只要安裝一個RPM軟件包就可以了。為了確認系統中是否已經安裝了vsftpd軟件包,一般使用下面的命令進行檢查:
[root@localhostnamed]#rpm -qa|grep vsftpd
回車之后出現以下內容,則表明系統已成功安裝了vsftpd軟件包。
vsftpd-2.2.2-6.el6_0.1.x86_64
如果沒有顯示以上內容,則說明系統沒有安裝vsftpd服務,可以通過yum方式進行安裝。
首先,通過mount /dev/cdrom /media命令將centos系統鏡像文件掛載到CENTOS系統中的media目錄中,然后進入/etc/yum.repo.d目錄,使用rm *.*命令刪除其他3個文件,只保留CentO_Media.repo作為模板,并對CentO_Media.repo文件進行編輯,主要是修改3個參數:
baseurl=file:///media/ //指向media目錄
gpgcheck=1 //打開校驗功能
enabled=1 //激活
最后,輸入安裝命令yum –y install vsftpd進行vsftpd軟件包的安裝。
2.2 vsftpd服務的管理
在centos系統中,當vsftpd軟件包安裝完成后, 還要以獨立方式啟動vsftpd服務。在命令模式下使用下列命令管理vsftpd服務:
[root@localhostnamed]#service vsftpd start //啟動vsftpd服務
[root@localhostnamed]#service vsftpd stop //停止vsftpd服務
[root@localhostnamed]#service vsftpd restart //重新啟動vsftpd服務
[root@localhostnamed]#service vsftpd status //查看vsftpd服務狀態(tài)
[root@localhostnamed]# chkconfig vsftpd on //開機自動啟動vsftpd服務
3 配置FTP服務器
3.1 配置匿名帳號FTP服務器
通常FTP主機為公用的服務,主機默認配置使用匿名登錄,也就是說在/etc/vsftpd/vsftpd.conf文件中的anonymous_enable參數值為“YES”,說明可以允許用戶匿名訪問ftp服務器。但是只能以只讀的方式訪問,不能進行刪除、創(chuàng)建、上傳等,如果需要匿名用戶具有這些權限的話,需要更改目錄路徑,并進行相關參數設置如下:
(1) 在根目錄下使用mkdir命令目錄創(chuàng)建111目錄,然后使用cd命令進入111目錄后,再使用mkdir命令目錄創(chuàng)建jsyz目錄,并使用chmod目錄開啟jsyz目錄的所有權限。具體目錄如下:
[root@localhostnamed]#mkdir /111
[root@localhostnamed]#cd 111
[root@localhostnamed]#mkdir jsyz
[root@localhostnamed]#chmod 777 jsyz
(2) 修改vsftpd的主配置文件,常用的參數如下:
anonymous_enable=YES //支持匿名用戶賬號訪問
anon_mkdir_write_enabel=YES //允許匿名用戶創(chuàng)建目錄
anon_other_write_enabel=YES //允許匿名用戶的其他寫權限
anon_upload_enabel=YES //允許匿名用戶上傳
anon_root=/111 //指向111目錄
3.2 配置本地帳號FTP服務器
(1) 在目錄/home/wwwroot/ftpuser下創(chuàng)建用戶ftpuser
命令:useradd -g root -M -d /home/wwwroot/ftpuser -s /sbin/nologin ftpuser
(2) 設置用戶ftpuser密碼
命令:passwd ftpuser
# ftpuser為剛剛設定的用戶名,根據提示輸入兩次相同的密碼。
(3) 配置文件/etc/vsftpd/vsftpd.conf
anonymous_enable=NO //不允許匿名訪問,禁用匿名登錄 chroot_local_user=YES //禁止本地用戶登出自己的FTP主目錄
chroot_list_enable=YES //不允許FTP用戶離開自己主目錄
chroot_list_file=/etc/vsftpd/chroot_list //鎖定登錄用戶只能家目錄的位置
local_enable=YES //允許使用本地帳戶進行FTP用戶登錄驗證
idle_session_timeout=600 //會話超時
async_abor_enable=YES//支持異步傳輸功能
ascii_upload_enable=YES //支持ASCII模式的下載功能
ascii_download_enable=YES //支持ASCII模式的上傳功能
4 測試vsftpd服務
以下兩個操作需在測試前完成,如果沒有配置則無法正常登陸到FTP服務器。
第一個是關閉SELINUX保護。用vim /etc/sysconfig/selinux命令打開文件,把參數SELINUX的值enforcing改為disabled即可。
第二個是配置防火墻。vsftpd軟件安裝完成后,默認端口是21,需要通過vim /etc/sysconfig/iptables命令在防火墻配置中開啟21端口才可以對外連接。
-A INPUT-m state-state NEW-m tcp-p tcp-dport 21-j ACCEPT
-A OUTPUT-m state-state NEW-m tcp-p tcp-dport 21-j ACCEPT
配置完防火墻,必須使用service iptables restart命令重啟防火墻才能生效。
完成上面兩個配置之后,就可以啟動vsftpd服務,在客戶端使用ftp命令登陸FTP服務器192.168.1.100,以檢測是否能夠正常工作。輸入用戶名“ftpuser”和密碼“ftpuser”后,能打開相應的文件夾,如圖1所示。
5 結束語
本文通過在VMwareWorkstation虛擬機軟件上安裝兩臺虛擬機,一臺具有CentOS網絡操作系統的虛擬機,命名為“FTPServer”,作為FTP服務器;再安裝一臺具有WindowsXP操作系統的虛擬機,命名為“Client”,作為FTP客戶端,供測試使用,構建了一個FTP服務器安全站點實驗環(huán)境,實現了安全的文件傳輸服務器的設計。
參考文獻:
[1] 丁傳煒.基于VirtualBox虛擬機的VSFTP服務仿真實驗平臺的設計[J]. 計算機時代,2013(2):9-10.
[2] 張玉琴. FTP服務器配置與管理[J]. 數字技術與應用,2017(4):53.
[3] 周伯恒. CentOS6.X系統管理實戰(zhàn)寶典[M]. 北京:清華大學出版社,2013:77-79.
[4] 張敬東. Linux服務器配置與管理[M]. 北京:清華大學出版社,2014:313.
[5] 張同光. Linux操作系統[M]. 北京:清華大學出版社,2016:358.