CentOS下FTP[vsftp]安裝及配置步驟說明

來源:互聯網
上載者:User

一、FTP的安裝
1、檢測是否安裝了FTP :[root@localhost ~]# rpm -q vsftpd

如果安裝了會顯示版本資訊:
[root@localhost ~]# vsftpd-2.0.5-16.el5_5.1

否則顯示:[root@localhost ~]# package vsftpd is not installed

2、如果沒安裝FTP,運行yum install vsftpd命令

具體的細節如下:(如果無法更新,你先配置能訪問互連網,我有文檔叫 CentOS 在 VMware下,如何連網到Internet的解決辦法 可以解決無法上網的問題)

[root@localhost ~]# yum install vsftpd

Setting up Install Process

Parsing package install arguments

Resolving Dependencies

–> Running transaction check

—> Package vsftpd.i386 0:2.0.5-12.el5 set to be updated

filelists.xml.gz 100% |=========================| 648 kB 02:46

http://ftp.hostrino.com/pub/centos/5.2/os/i386/rep odata/filelists.xml.gz: [Errno 4] Socket Error: timed out

Trying other mirror.

filelists.xml.gz 100% |=========================| 2.8 MB 00:21

filelists.xml.gz 100% |=========================| 1.1 MB 00:12

filelists.xml.gz 100% |=========================| 132 kB 00:01

filelists.xml.gz 100% |=========================| 150 B 00:00

–> Finished Dependency Resolution

Dependencies Resolved

================================================== ===========================

Package Arch Version Repository Size

================================================== ===========================

Installing:

vsftpd i386 2.0.5-12.el5 base 137 k

Transaction Summary

================================================== ===========================

Install 1 Package(s)

Update 0 Package(s)

Remove 0 Package(s)

Total download size: 137 k

Is this ok [y/N]: y

Downloading Packages:

(1/1): vsftpd-2.0.5-12.el 100% |=========================| 137 kB 00:01

warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID e8562897

Importing GPG key 0xE8562897 “CentOS-5 Key (CentOS 5 Official Signing Key)” from http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS -5

Is this ok [y/N]: y

Running rpm_check_debug

Running Transaction Test

Finished Transaction Test

Transaction Test Succeeded

Running Transaction

Installing: vsftpd ######################### [1/1]

Installed: vsftpd.i386 0:2.0.5-12.el5

Complete!

[root@localhost ~]#

3、完成ftp安裝後,將 /etc/vsftpd/user_list檔案和/etc/vsftpd/ftpusers檔案中的root這一行注釋掉

# root

4、執行以下命令

# setsebool -P ftpd_disable_trans=1

修改/etc/vsftpd/vsftpd.conf,在最後一行處添加local_root=/

5、重啟ftp進程 #service vsftpd restart

註:每次修改過ftp相關的設定檔,都需要重啟ftp進程來生效。

ftp伺服器就可以使用了。

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

二、vsftpd的設定檔說明:

vsftpd.ftpusers:位於/etc目錄下。它指定了哪些使用者賬戶不能訪問FTP伺服器,例如root等。

vsftpd.user_list:位於/etc目錄下。該檔案裡的使用者賬戶在預設情況下也不能訪問FTP伺服器,僅當vsftpd .conf設定檔裡啟用userlist_enable=NO選項時才允許訪問。

vsftpd.conf:位於/etc/vsftpd目錄下。來自訂使用者登入控制、使用者權限控制、逾時設定、伺服器功能選項、伺服器效能選項、伺服器響應訊息等FTP伺服器的配置。

(1)使用者登入控制

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

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

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

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

banned_email_file=/etc/vsftpd.banned_emails,當啟用deny_email_enable功能時,所需的電子郵件黑名單儲存路徑(預設為/etc/vsftpd.banned_emails)。

(2)使用者權限控制

write_enable=YES,開啟全域上傳許可權。

local_umask=022,本機使用者的上傳檔案的umask設為022(系統預設是077,一般都可以改為022)。

anon_upload_enable=YES,允許匿名使用者具有上傳許可權,很明顯,必須啟用write_enable=YES,才可以使用此項。同時我們還必須建立一個允許ftp使用者可以讀寫的目錄(前面說過,ftp是匿名使用者的映射使用者帳號)。

anon_mkdir_write_enable=YES,允許匿名使用者有建立目錄的權利。

chown_uploads=YES,啟用此項,匿名上傳檔案的屬主使用者將改為別的使用者賬戶,注意,這裡建議不要指定root帳號為匿名上傳檔案的屬主使用者!

chown_username=whoever,當啟用chown_uploads=YES時,所指定的屬主使用者帳號,此處的whoever自然要用合適的使用者帳號來代替。

chroot_list_enable=YES,可以用一個列表限定哪些本機使用者只能在自己目錄下活動,如果chroot_local_user=YES,那麼這個列表裡指定的使用者是不受限制的。

chroot_list_file=/etc/vsftpd.chroot_list,如果chroot_local_user=YES,則指定該列表(chroot_local_user)的儲存路徑(預設是/etc/vsftpd.chroot_list)。

nopriv_user=ftpsecure,指定一個安全使用者帳號,讓FTP伺服器用作完全隔離和沒有特權的獨立使用者。這是vsftpd系統推薦選項。

async_abor_enable=YES,強烈建議不要啟用該選項,否則將可能導致出錯!

ascii_upload_enable=YES;ascii_download_enable=YES,預設情況下伺服器會假裝接受ASCⅡ模式請求但實際上是忽略這樣的請求,啟用上述的兩個選項可以讓伺服器真正實現ASCⅡ模式的傳輸。

注意:啟用ascii_download_enable選項會讓惡意遠端使用者們在ASCⅡ模式下用“SIZE/big/file”這樣的指令大量消耗FTP伺服器的I/O資源。

這些ASCⅡ模式的設定選項分成上傳和下載兩個,這樣我們就可以允許ASCⅡ模式的上傳(可以防止上傳指令碼等惡意檔案而導致崩潰),而不會遭受拒絕服務的攻擊的危險。

(3)使用者串連和逾時選項

idle_session_timeout=600,可以設定預設的空閑逾時時間,使用者超過這段時間不動作將被伺服器踢出。

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

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

dirmessage_enable=YES,允許為目錄配置顯示資訊,顯示每個目錄下面的message_file檔案的內容。

ftpd_banner=Welcome to blah FTP service,可以自訂FTP使用者登入到伺服器所看到的歡迎資訊。

xferlog_enable=YES,啟用記錄上傳/下載活動紀錄功能。

xferlog_file=/var/log/vsftpd.log,可以自訂記錄檔的儲存路徑和檔案名稱,預設是/var/log/vsftpd.log。

anonymous_enable=YES 允許匿名登入local_enable=YES允許本機使用者登入

write_enable=YES 開放本機使用者寫入權限

local_umask=022 設定本機使用者組建檔案的掩碼為022

#anon_upload_enable=YES 此項設定允許匿名使用者上傳檔案

#anon_mkdir_write_enable=YES 開啟匿名使用者的寫和建立目錄的許可權

dirmessage_enable=YES 當切換到目錄時,顯示該目錄下的.message隱藏檔案的內容

xferlog_enable=YES 啟用上傳和下載日誌

connect_from_port_20=YES 啟用FTP資料連接埠的串連請求

#chown_uploads=YES 是否具有上傳許可權. 使用者由chown_username參數指定。

#chown_username=whoever 指定擁有上傳檔案許可權的使用者。此參數與chown_uploads聯用。

#xferlog_file=/var/log/vsftpd.log

xferlog_std_format=YES 使用標準的ftpd xferlog日誌格式

#idle_session_timeout=600 此設定將在使用者會話空閑10分鐘後被中斷

#data_connection_timeout=120 將在資料連線空閑2分鐘後被中斷

#ascii_upload_enable=YES 啟用上傳的ASCII傳輸方式

#ascii_download_enable=YES 啟用下載的ASCII傳輸方式

#ftpd_banner=Welcome to blah FTP service 設定使用者串連伺服器後顯示訊息

#deny_email_enable=NO 此參數預設值為NO。當值為YES時,拒絕使用banned_email_file參數指定檔案中所列出的e-mail地址使用者登入。

#banned_email_file=/etc/vsftpd.banned_emails 指定包含拒絕的e-mail地址的檔案.

#chroot_list_enable=YES 設定本機使用者登入後不能切換到自家目錄以外的別的目錄

#chroot_list_file=/etc/vsftpd.chroot_list

#ls_recurse_enable=YES

pam_service_name=vsftpd 設定PAM認證服務的設定檔名稱,該檔案存放在/etc/pam.d/

userlist_enable=YES 此項配置/etc/vsftpd.user_list中指定的使用者也不能訪問伺服器,若添加userlist_deny=No,則僅僅/etc/vsftpd.user_list檔案中的使用者可以訪問,其他使用者都不可以訪問伺服器。如過userlist_enable=NO,userlist_deny=YES,則指定使檔案/etc/vsftpd.user_list中指定的使用者不可以訪問伺服器,其他本機使用者可以訪問伺服器。
listen=YES 指明VSFTPD以獨立運行方式啟動

tcp_wrappers=YES 在VSFTPD中使用TCP_Wrappers遠端存取控制機制,預設值為YES

三、舉例建立一個名為test的賬戶並進行配置
根據實際情況對FTP進行配置後,下面舉例介紹建立一個FTP賬戶並進行簡單的配置:

1、建立一個帳號為test的賬戶:
#mkdir /tmp/test //首先建立好目錄
#adduser -d /tmp/test -g ftp -s /sbin/nologin test //-s /sbin/nologin是讓其不能登陸系統,-d 是指定使用者目錄為/opt/srsman ,即該賬戶只能登陸ftp,卻不能用做登陸系統用。
#passwd test
Changing password for user beinan.//接下來會出現讓你設定新的密碼
New password:
Retype new password:
passwd: all authentication tokens updated successfully
建立賬戶成功!

2、限制使用者目錄,不得改變目錄到上級
修改/etc/vsftpd/vsftpd.conf
將這兩行
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
注釋去掉
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
新增一個檔案: /etc/vsftpd/chroot_list
內容寫需要限制的使用者名稱:
test
重新啟動vsftpd
# service vsftpd restart

3、最後為了防止伺服器由於斷電、重啟等現象發生,導致ftp進程在開機後未啟動,將其添加到開機開機檔案中:
(1)找到/etc/rc.local檔案
(2)開啟該檔案,在最後一行添加:service vsftpd start
(3)儲存,退出

4、通過在“我的電腦”中輸入ftp://192.168.179.30(填該ftp伺服器ip地址)進入ftp伺服器,輸入設定好的賬戶登陸即可。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.