CentOS 6.5下快速搭建ftp服務器
1、用root 進入系統
2、使用命令 rpm -qa|grep vsftpd 查看系統是否安裝了ftp,若安裝了vsftp,使用這個命令會在屏幕上顯示vsftpd的版本
3、使用命令rpm -e vsftpd 即可卸載ftp
4、再使用rpm -qa|grep vsftpd 查看系統是否已刪除ftp,若刪除成功,屏幕上顯示vsftpd的版本
一:安裝vsftpd
查看是否已經安裝vsftpd
rpm -qa | grep vsftpd
如果沒有,就安裝,並設置開機啓動
yum -y install vsftpd
chkconfig vsftpd on
安裝時發現錯誤:
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os error was
14: PYCURL ERROR 6 - "Couldn't resolve host 'mirrorlist.centos.org'"
Error: Cannot find a valid baseurl for repo: base
是因爲缺少DNS,解決如下:到/etc目錄下配置resolv.conf加入nameserver IP:
[root@localhost ~]# vi /etc/resolv.conf
#下面地址是福建電信DNS
nameserver 218.85.157.99
管理vsftpd相關命令:
啓動vsftpd: service vsftpd start
停止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服務器
1.默認的配置文件是/etc/vsftpd/vsftpd.conf,你可以用文本編輯器打開。
vi /etc/vsftpd/vsftpd.conf
2.添加ftp用戶
下面是添加ftpuser用戶,設置根目錄爲/home/wwwroot/ftpuser,禁止此用戶登錄SSH的權限,並限制其訪問其它目錄。
#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
解決方法:
在終端輸入命令:
1.setsebool -P ftpd_disable_trans 1
2.service vsftpd restart
就OK了!
原因:這是因爲服務器開啓了selinux,這限制了FTP的登錄。