Linux 關於搭建FTP伺服器的總結

來源:互聯網
上載者:User

1、FTP伺服器的簡介

關於ftp的介紹,大家也一定不陌生了。我就直接把百度百科上的介紹拿過來,和大家一起溫習一下概念。

FTP 是File Transfer Protocol(檔案傳輸通訊協定)的英文簡稱,而中文簡稱為“文傳協議”。用於Internet上的控制檔案的雙向傳輸。同時,它也是一個應用程式(Application)。基於不同的作業系統有不同的FTP應用程式,而所有這些應用程式都遵守同一種協議以傳輸檔案。在FTP的使用當中,使用者經常遇到兩個概念:"下載"(Download)和"上傳"(Upload)。"下載"檔案就是從遠程主機拷貝檔案至自己的電腦上;"上傳"檔案就是將檔案從自己的電腦中拷貝至遠程主機上。用Internet語言來說,使用者可通過客戶機程式向(從)遠程主機上傳(下載)檔案。

2、LINUX下FTP伺服器的搭建

一般在各種linux的發行版中,預設帶有的ftp軟體是vsftp,從各個linux發行版對vsftp的認可可以看出,vsftp應該是一款不錯的ftp軟體。

(1)檢查vsftpd軟體是否安裝

使用如下命令可以檢測出是否安裝了vsftpd軟體,rpm -qa |grep vsftpd ,例如在我的centos 5.6中顯示的結果如下:

如果沒有安裝的話,可以下載安裝,也可以使用軟體源進行安裝。這裡不再贅述。

(2)vsftpd軟體的使用

使用vsftpd軟體,主要包括如下幾個命令:

啟動ftp:service vsftpd start

停止ftp:service vsftpd stop

重啟ftp:service vsftpd restart

或者使用帶有路徑的命令:

(3)vsftpd的配置

ftp的設定檔主要有三個,在centos5.6中位於/etc/vsftpd/目錄下,分別是:

ftpusers 該檔案用來指定那些使用者不能訪問ftp伺服器。

user_list 該檔案用來指示的預設賬戶在預設情況下也不能訪問ftp

vsftpd.conf vsftpd的主設定檔

(4)下面我們使用vi編輯vsftpd.conf檔案

使用者登入控制:

anonymous_enable=YES,允許匿名使用者登入。

no_anon_password=YES,匿名使用者登入時不需要輸入密碼。

local_enable=YES,允許本機使用者登入。

deny_email_enable=YES,可以建立一個檔案儲存某些匿名電子郵件的黑名單,以防止這些人使用Dos攻擊。

banned_email_file=/etc/vsftpd/banned_emails,儲存電子郵件黑名單的目錄(預設)

使用者權限控制:

write_enable=YES,開啟全域上傳

local_umask=022,本地檔案上傳的umask設定為022,系統預設。

anon_upload_enable=YES,允許匿名使用者上傳,當然要在write_enable=YES的情況下。同時必須建立一個允許ftp使用者讀寫的目錄。

anon_mkdir_write_enable=YES,允許匿名用花建立目錄

chown_uploads=YES,匿名使用者上傳的檔案屬主轉換為別的使用者,一般建議為root。

chown_username=whoever,改此處的whoever為要轉換的屬主,建議root

chroot_list_enable=YES,用一個列表來限定哪些使用者只能在自己目錄下活動。

chroot_list_enable=/etc/vsftpd/chroot_list,指定使用者列表檔案

nopriv_user=ftpsecure,指定一個安全賬戶,讓ftp完全隔離和沒有特權的賬戶

其他的建議不要配置。

使用者串連和逾時設定:

idle_session_timeout=600,預設的逾時時間

data_connection_timeout=120,設定預設資料連線的逾時時間

(4)伺服器日誌和歡迎資訊

dirmessage_enable=YES,允許為配置目錄顯示資訊

ftpd_banner=Welcome to blah FTP service. ftp的歡迎資訊

xferlog_enable=YES 開啟日誌記錄功能

xferlog_file=/var/log/xferlog 日誌記錄檔案的位置

我們可以更改以上的各個設定,然後重啟ftp服務就可以實現對ftp的配置了。

 

 

 

 

**********************************************************************************************************************************************************

 

**********************************************************************************************************************************************************

*************FTP檔案說明*********************本FTP伺服器軟體包為vsftpd-2.3.4-1.fc14.i686.rpmFTP用戶端軟體包為ftp-0.17-51.fc12.i686.rpm1、vsftpd不再由xinetd控制;2、FTP使用port 21發起串連,使用por ...

 
*************FTP檔案說明*********************
本FTP伺服器軟體包為vsftpd-2.3.4-1.fc14.i686.rpm
FTP用戶端軟體包為ftp-0.17-51.fc12.i686.rpm
1、vsftpd不再由xinetd控制;
2、FTP使用port 21發起串連,使用port 20進行資料轉送;
3、vsftpd設定檔:    /etc/vsftpd/vsftpd.conf         #主設定檔
            /etc/vsftpd/vsftpd/ftpusers     #拒絕該檔案中列出的使用者登入FTP
            /etc/vsftpd/vsftpd/user_list    #預設同ftpusers相同
4、查看/etc/passwd檔案,可以看到FTP預設的共用目錄路徑為/var/ftp;
5、FTP記錄檔:/var/log/xferlog
6、相關軟體包:tcp_wrappers、ip_conntrack_ftp、ip_nat_ftp
    (這3個軟體包是教材上列出的,我沒有測試過其用途,有興趣的朋友可以研究一下)
7、啟動和停止vsftp指令:
#service vsftpd start       //啟動vsftpd服務
#service vsftpd stop        //停止vsftpd服務
#service vsftpd restart     //重啟vsftpd服務,每次更改FTP相關配置後,一定要用該命令重啟vsftpd服務
#chkconfig vsftpd on        //使vsftpd服務開機啟動。(可選操作)
8、注意SElinux的安全性質:
一般SElinux是被強行啟用的,對許多服務都預設有許可權控制,如果在我們對FTP伺服器測試時碰到一些莫名奇妙的錯誤時,可以關閉SElinux,
也可以僅關閉SElinux對FTP服務的保護設定;
#sestatus         //查看當前系統SElinux是否開啟
如果開啟了,則開啟/etc/selinux/config檔案,編輯:將SELINUX=enforcing改成SELINUX=disabled,並把SELINUXTYPE=targeted注釋掉!

或者#setsebool -P ftpd_disable_trans 1     //僅關閉SELinux對FTP的保護
*************FTP許可權需求**********************
a.允許匿名使用者登入;
b.允許匿名使用者上傳和下載資料(拒絕覆蓋已有資料);
c.允許本機使用者登入;(注意SElinux的影響)
d.FTP共用目錄/var/ftp/
e.拒絕匿名使用者建立新檔案或者檔案夾;
f.使登入使用者可以下載共用資料
************************************************

1、查詢本機是否已經安裝ftp-server和ftp-client;
#rpm -qa vsftpd
#rpm -qa ftp

2、如果沒有安裝,則下載相應軟體包,或者yum線上安裝;
#yum install vsftpd     //ftp伺服器軟體包
#yum install ftp        //ftp用戶端軟體包

3、編輯/etc/vsftpd/vsftpd.conf
anonymous_enable=YES      //允許匿名使用者登入

local_enable=YES          //允許本機使用者登入

write_enable=YES          //允許登入到FTP的使用者執行寫操作

local_umask=022
anon_umask=077            //匿名使用者上傳的檔案許可權都會進行umask的計算,變成-rw- --- ---

anon_upload_enable=YES    //允許匿名使用者上傳檔案

xferlog_file=/var/log/vsftpd.log     //FTP伺服器記錄檔預設路徑

ftpd_banner=***********Welcome to My FTP Server***********

4、開啟vsftpd服務
#service vsftpd start

5、在FTP共用目錄下建立檔案夾
#mkdir /var/ftp/pub              //用於存放共用檔案資料
#mkdir /var/ftp/incoming         //用於存放匿名使用者上傳的資料

#ls -l /var/ftp/
drwxr-xr-x. 2 root root 4096  5月  8 14:13 incoming
drwxr-xr-x. 2 root root 4096  5月  8 14:15 pub
//新建立的檔案夾預設歸屬於root使用者和使用者組,需要更正!

#chown ftp.ftp /var/ftp/incoming       //改為所屬使用者為ftp,使用者組為ftp組
#chown ftp.ftp /var/ftp/pub
#ls -l /var/ftp
drwxr-xr-x. 2 ftp ftp 4096  5月  8 14:13 incoming
drwxr-xr-x. 2 ftp ftp 4096  5月  8 14:15 pub

6、登入到FTP伺服器
#ftp 127.0.0.1
Connected to 127.0.0.1 (127.0.0.1).
220 ************Welcome to My FTP Server*************.
Name (127.0.0.1:root): ftp                //這裡的登入使用者名稱輸入ftp或者anonymous或者本地有效賬戶名
331 Please specify the password.
Password:                                 //匿名登入時,直接斷行符號
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

還有一種方法也可以登入到FTP伺服器:開啟Firefox瀏覽器,輸入ftp://127.0.0.1,即可匿名登入;
或者ftp://ligang@127.0.0.1,使用本地賬戶登入,斷行符號後會彈出輸入密碼的對話方塊!

7、允許登入使用者下載/var/ftp/pub中的檔案資料
使用管理員帳號:
#chmod +r /var/ftp/pub/*          //修改pub目錄下檔案的讀許可權
 
本文出自 “一切皆有口可能!” 部落格,請務必保留此出處http://287416363.blog.51cto.com/2189452/629848

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.