CentOS 5.5下FTP安裝及配置

來源:互聯網
上載者: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) <centos-5-key@centos.org>" 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.