vsftpd作為FTP服務器,在Linux系統中是非常常用的;下面就說如何在centos系統上安裝vsftp。
之前已經說過了Linux下安裝Apache、mysql、php、phpmyadmin。
什麼是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
在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
2、增加用戶ziyouwu,指向目錄/home/wwwroot/ziyouwu,禁止登錄SSH權限。
- useradd -d /home/wwwroot/ziyouwu -g ftp -s /sbin/nologin ziyouwu
3、設置用戶口令
- passwd ziyouwu
4、編輯文件chroot_list:
- vi /etc/vsftpd/chroot_list
內容為ftp用戶名,每個用戶占一行,如:
ziyouwu
user1
user2
6、重新啟動vsftpd
- service vsftpd restart
出現的錯誤
1、500 OOPS: cannot change directory
解決方法:
在終端輸入命令:
- setsebool -P ftpd_disable_trans 1
- service vsftpd restart
就OK了!
原因:這是因為服務器開啟了selinux,這限制了FTP的登錄