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)身份執行以下命令
- yum install vsftpd
2、設定開機啟動vsftpd ftp服務
- chkconfig vsftpd on
3、啟動vsftpd服務
- service vsftpd start
管理vsftpd相關命令:
停止vsftpd: service vsftpd stop
重啟vsftpd: service vsftpd restart
配置防火牆
開啟/etc/sysconfig/iptables檔案
- vi /etc/sysconfig/iptables
(如果發現沒有iptables這個檔案:
解決方法:
1、隨便寫一條iptables命令配置個防火牆規則:如:
iptables -P OUTPUT ACCEPT
2、service iptables save進行儲存
在REJECT行之前新增如下程式碼
- -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
儲存和關閉檔案,重啟防火牆
- service iptables start
配置vsftpd伺服器
預設的配置檔案是/etc/vsftpd/vsftpd.conf,你可以用文字編輯器開啟。
- vi /etc/vsftpd/vsftpd.conf
新增ftp使用者
下面是新增ftpuser使用者,設定根目錄為/home/wwwroot/ftpuser,禁止此使用者登入SSH的許可權,並限制其訪問其它目錄。
1、修改/etc/vsftpd/vsftpd.conf
將底下三行
- #chroot_list_enable=YES
- # (default follows)
- #chroot_list_file=/etc/vsftpd.chroot_list
改為
- chroot_list_enable=YES
- # (default follows)
- chroot_list_file=/etc/vsftpd/chroot_list
3、增加使用者ftpuser,指向目錄/home/wwwroot/ftpuser,禁止登入SSH許可權。
- useradd -d /home/wwwroot/ftpuser -g ftp -s /sbin/nologin ftpuser
4、設定使用者口令
- passwd ftpuser
5、編輯檔案chroot_list:
- vi /etc/vsftpd/chroot_list
內容為ftp使用者名稱,每個使用者佔一行,如:
peter
john
6、重新啟動vsftpd
- service vsftpd restart
另外,如果覺得以後管理ftp使用者名稱嫌麻煩,可以使用centos官方釋出的指令碼管理。地址如下:
出現的錯誤
1、500 OOPS: cannot change directory
解決方法:
在終端輸入命令:
- setsebool -P ftpd_disable_trans 1
- service vsftpd restart
就OK了!
原因:這是因為伺服器開啟了selinux,這限制了FTP的登入。