原文連結: 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官方發布的指令碼管理。地址如下:
http://wiki.centos.org/HowTos/Chroot_Vsftpd_with_non-system_users 出現的錯誤
1、500 OOPS: cannot change directory
解決方案:
在終端輸入命令: setsebool -P ftpd_disable_trans 1 service vsftpd restart
就OK了。
原因:這是因為伺服器開啟了selinux,這限制了FTP的登入。