1. 程式人生 > >centos下安裝FTP,設定防火牆

centos下安裝FTP,設定防火牆

原文連結: http://www.centos.bz/2011/03/centos-install-vsftpd-ftp-server/

vsftpd作為FTP伺服器,在Linux系統中是非常常用的。下面我們介紹如何在centos系統上安裝vsftp。

什麼是vsftpd

vsftpd是一款在Linux發行版中最受推崇的FTP伺服器程式。特點是小巧輕快,安全易用。

vsftpd 的名字代表”very secure FTP daemon”, 安全是它的開發者 Chris Evans 考慮的首要問題之一。在這個 FTP 伺服器設計開發的最開始的時候,高安全性就是一個目標。

安裝vsftpd

1、以管理員(root)身份執行以下命令

  1. yum install vsftpd

2、設定開機啟動vsftpd ftp服務

  1. chkconfig vsftpd on

3、啟動vsftpd服務

  1. service vsftpd start

管理vsftpd相關命令:

停止vsftpd:  service vsftpd stop

重啟vsftpd:  service vsftpd restart

配置防火牆

開啟/etc/sysconfig/iptables檔案

  1. vi /etc/sysconfig/iptables

(如果發現沒有iptables這個檔案:

解決方法:

1、隨便寫一條iptables命令配置個防火牆規則:如:

iptables -P OUTPUT ACCEPT

2、service iptables save進行儲存

)

在REJECT行之前新增如下程式碼

  1. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

儲存和關閉檔案,重啟防火牆

  1. service iptables start

配置vsftpd伺服器

預設的配置檔案是/etc/vsftpd/vsftpd.conf,你可以用文字編輯器開啟。

  1. vi /etc/vsftpd/vsftpd.conf

新增ftp使用者

下面是新增ftpuser使用者,設定根目錄為/home/wwwroot/ftpuser,禁止此使用者登入SSH的許可權,並限制其訪問其它目錄。

1、修改/etc/vsftpd/vsftpd.conf

將底下三行

  1. #chroot_list_enable=YES
  2. # (default follows)
  3. #chroot_list_file=/etc/vsftpd.chroot_list

改為

  1. chroot_list_enable=YES
  2. # (default follows)
  3. chroot_list_file=/etc/vsftpd/chroot_list

3、增加使用者ftpuser,指向目錄/home/wwwroot/ftpuser,禁止登入SSH許可權。

  1. useradd -d /home/wwwroot/ftpuser -g ftp -s /sbin/nologin ftpuser

4、設定使用者口令

  1. passwd ftpuser

5、編輯檔案chroot_list:

  1. vi /etc/vsftpd/chroot_list

內容為ftp使用者名稱,每個使用者佔一行,如:

peter
john

6、重新啟動vsftpd

  1. service vsftpd restart

另外,如果覺得以後管理ftp使用者名稱嫌麻煩,可以使用centos官方釋出的指令碼管理。地址如下:

出現的錯誤

1、500 OOPS: cannot change directory
解決方法:

在終端輸入命令:

  1. setsebool -P ftpd_disable_trans 1
  2. service vsftpd restart

就OK了!
原因:這是因為伺服器開啟了selinux,這限制了FTP的登入。