傅令杰
摘 要
計算機之間需要上傳和下載文件,FTP則是其中非常優秀的一個協議。剛剛過了RedHat的RHCE,本著趁熱打鐵的精神,寫下一篇關于如何簡單配置FTP的文章。這篇文章面對非專業的Linux使用者,從零開始幫助大家一點一點配置好FTP的基本功能,能夠讓別的機器訪問自己,并上傳下載文件。
【關鍵詞】Linux RedHat vsftpd selinux
1 安裝配置Linux環境
在正式開始交大家如何安裝和配置FTP之前,先幫助大家搭建好自己的運行環境。因為是開源的操作系統,現在市面上流行的Linux發行版非常之多,像大家熟悉的Ubuntu,debian,fedora,Centos,rhel都是非常優秀的發行版。對于面向server而言,個人比較推薦大家選擇rhel或者centos,后者是rhel的社區再編譯版,可謂同宗同源。這里筆者選擇rhel6.5作為這篇文章的默認運行環境了。首先大家從網上下載下來鏡像,一般是***.Iso。可以選擇在Windows下的虛擬機VMware workstation進行安裝,當然,如果是有系統潔癖的朋友,完全可以用poweriso配合U盤制作自己的雙系統。Linux里的grub會自行接管開機的引導,讀者可以在開機時自由的選擇想要使用的操作系統。
現在假定已經順利的進入了自己安裝好的rhel6.5了。由于紅帽公司的官方源是需要購買的,為了能夠安裝我們的vsftp,我們需要自己配置本地yum源。Linux下有一句非常著名的話,叫做“一切皆文件”,在Linux下,無論是設備也好,服務也好,都可以抽象成文件來進行配置。配置yum源和FTP其實也是對文件的改動。
首先大家以root身份登錄系統,打開終端,用cd命令進入/etc/yum.repo.d/目錄,使用rm–fr*刪除掉里面原先的源。vim yum.repo創建新的文件。注意這里的.repo必須要有,這是系統尋找yum源文件所必須的后綴,至于點前面的名字,可以任意取名。進入文件后可以這樣寫(筆者的每一個空格代表空一行):[Server] name=localserverbaseurl=file:///yum gpgcheck=0然后wq退出保存。回到/目錄,用mkdir創建目錄yum。這是請特別注意,如果是虛擬機的話,直接使用命令mount /dev/sr0 /yum掛載ISO虛擬設備到/yum目錄就行,然后在/etc/fstab/下寫入/etc/sr0 /yum iso9660 defaults 0 0 這樣一來就能永久的掛載了。如果是裝雙系統的朋友,需要這樣寫mount –o loop [你的iso文件] /yum 然后在/etc/fstab里寫入/etc/sr0 /yum iso9660 loop 0 0。現在一切準備妥當,鍵入yum clean all 再yum list 看到一大堆的軟件,那么就說明你的本地yum源配置好了。準備工作現在已經告一段落了。
2 安裝FTP以及配置文件內容
以root身份打開終端,輸入yum install vsftpd –y,這個時候系統會自行從剛剛配置好的yum源里找到FTP的安裝包及相關的依賴關系。等安裝好后,我們需要開機啟動vsftpd。使用chkconfigvsftpd on,再使用chkconfigvsftpd–list,如果看到2345是on,則說明機器開機就自動啟動FTP服務了。進入/etc/vsftpd/vsftpd.conf,這是FTP的主配置文件。值得一提的是,Linux的配置文件中,開頭帶有#的,指的是注釋內容,意思是并不生效的意思。將文件中第27行的#去掉,并在第28行加入anon_write_readable_only=NO。這樣就可以允許上傳和下載文件了。如果實在記不住這個麻煩的命令,完全可以另開一個終端,利用幫助文檔man 5 vsftpd來找到相應的命令。事實上Linux下,很多文件的配置信息都是在其強大的幫助文檔里詳細記載的。
3 更改目錄權限
這個時候讀者/etc/init.d/vsftpd restart,并且安裝了lftp工具后,會發現沒有辦法看到自己FTP默認發布目錄,也就是/var/ftp/pub/里的內容,也沒有辦法上傳和下載文件。這個時候就需要對權限進行調整了。進入到/var/ftp/,使用命令chmod775 pub 來使ftp組的用戶具有寫的權限,同時使用chcon ftp pub 來改變pub的所屬組。關于Linux中權限的有關知識,一篇文章恐怕很難給讀者說清楚,希望讀者成功配置完ftp后,自行學習,不但要知其然還要知其所以然。
4 更改相應的SELinux
這個時候還需要最后一步,就是對SELinux的更改。用ls –Z命令可以查看SELinux的屬性,可以看到,pub目錄的安全上下文是public_content_t這顯然是不行的,需要使用命令chcon–t public_content_rw_t更改安全上下文。同時使用getsebool–a | grep ftp看FTP的sebool值,使用setsebool–P allow_ftpd_anon_write更改。此時/etc/init.d/vsftpd restart來重新啟動FTP,使用別的機器lftp[主機ip],就可以訪問你的默認發布目錄了,即就是/var/ftp/pub/內的所有文件,同時也可以自由的在默認發布目錄里對文件進行讀和寫的操作。這就是FTP實現外部訪問和讀寫的簡單配置。
參考文獻
[1]鳥哥.鳥哥的Linux私房菜服務器架設篇[M].北京:人民郵電出版社,2012(06).
指導老師
韓立凱教授、王光教授。
作者單位
西安文理學院 陜西省西安市 710000endprint