首页 > 代码库 > centos 6 下安装vsFtp详细步骤,centos 6 vsFtp问题汇总

centos 6 下安装vsFtp详细步骤,centos 6 vsFtp问题汇总

---备注:下面整理的比较乱..

 

安装vsftpd
1、以管理员(root)身份执行以下命令

yum install vsftpd
2、设置开机启动vsftpd ftp服务

chkconfig vsftpd on
3、启动vsftpd服务

---------------这个时候就可以使用匿名访问ftp了----------------
             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
-------------------上面代码应该是为了开放 21端口,我这里没有用到-----------------
4、配置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
           禁止匿名用户访问:

           anonymous_enable=YES,将YES改为NO
            在文件末尾加如下的设置:

            pasv_enable=YES ;允许被动模式
            pasv_min_port=10000 ;被动模式使用端口范围
             pasv_max_port=10010
            local_max_rate=200000 ;用户宽带限制 (未测试)
            chroot_local_user=YES ;禁用户离开主目录(未测试)
              注意:设置pasv端口后,需要修改防火墙,如在centOs里,修改如下:
             iptables -A RH-Firewall-1-INPUT -p tcp --dport 10000:10010 -j ACCEPT
5、增加用户ftpuser,指向目录/home/wwwroot/ftpuser,禁止登录SSH权限。

useradd -d /home/wwwroot/ftpuser -g ftp -s /sbin/nologin ftpuser
6、设置用户口令

passwd ftpuser   (ftpuser)
7、编辑文件chroot_list:

vi /etc/vsftpd/chroot_list
内容为ftp用户名,每个用户占一行,如:

jlins
john

6、重新启动vsftpd

service vsftpd restart
 ------------------------------------------
这个时候 使用 vsftpd vsftpd报错:
错误:  已经从服务器断开
错误:  连接失败
状态:  正在等待重试... (还将重试 20 次)
错误:  连接失败
错误:  被用户中断!
状态:  正在连接 10.187.216.28 ...
状态:  已经连接到 10.187.216.28:0。正在等待欢迎信息...
响应:  220 (vsFTPd 2.2.2)
命令:  USER ftpuser
响应:  331 Please specify the password.
命令:  PASS *******
响应:  500 OOPS: cannot change directory:/home/wwwroot/ftpuser
错误:  连接失败
----------------------------
但客户端访问提示如下错误:

500 OOPS: cannot change directory:/home/ftp

原因是他的CentOS系统安装了SELinux,因为默认下是没有开启FTP的支持,所以访问时都被阻止了。

------------------------下面是另外一种解决方式--------------------


到网上查了下,是selinux的配置问题,两种方法解决:

1、setsebool -P ftp_home_dir on 之后再运service vsftpd restart

或 setsebool -P ftpd_disable_trans on 之后再运service vsftpd restart 也行

2、关闭selinux

修改/etc/selinux/config文件或/etc/syscofnig/selinux设置SELINUX= disabled ,然后重启


具体运行命令

[root@localhost wwwroot]# setsebool -P ftp_home_dir on 
[root@localhost wwwroot]# service vsftpd restart


------------配置完全上面的之后再次出现 550 Create directory operation failed. (在修改的过程中失误关闭了 service iptables stop 如果需要可以重新启动)
解决方法如下
第一步、给目录配置 777权限
第二步、关闭SELinux方法 
# vi /etc/selinux/config  
将 SELINUX=XXX -->XXX 代表级别 
改为 
SELINUX=disabled 
 
重启就OK了! (注意;这里的重新启动是重新启动服务器!!!!!)
如果不想重新启动服务器可以使用如下命令: 
setenforce 0

然后在重新启动 vsftpd 


 


原文地址:http://www.itmmd.com/201410/72.html 
该文章由 android开发 整理发布,转载须标明出处。

centos 6 下安装vsFtp详细步骤,centos 6 vsFtp问题汇总