• 前提条件

1、  操作系统:Red Hat EnterpriseLinux Server 6.4

2、  vsftpd-2.2.2-11.el6.x86_64.rpm

  • 安装/卸载

1、  rpm -ivh vsftpd-2.2.2-11.el6.x86_64.rpm  --force # force选项保证安装成功

2、  rpm -e vsftpd-2.2.2-11.el6.x86_64 # 卸载vsftpd

3、  其他卸载方法:find /-name vsftpd,然后rm检索到文件

  • 配置,vi/etc/vsftpd/vsftpd.conf

1、  新建ftp用户

  • useradd ftp

  • usermod -s /sbin/nologin ftp    #只允许ftp

  • cd /etc/vsftpd

  • vi ftpusers

  • 在文件末尾增加新用户ftp              # 使得用户ftp可以访问

2、  修改21端口号为678

  • 在配置文件中增加:listen_port=678

  • vi /etc/services, ftp 21/tcp 改为 ftp 678/tcp, ftp21/udp改为 ftp 678/udp

3、  设置vsftpd中的其他选项

  • anonymous_enable=YES

  • local_enable=YES

  • write_enable=YES

  • local_umask=022

  • anon_upload_enable=YES

  • anon_mkdir_write_enable=YES

  • dirmessage_enable=YES

  • xferlog_enable=YES

  • connect_from_port_20=YES

  • chown_uploads=YES

  • chown_username=ftp

  • xferlog_file=/var/log/xferlog

  • xferlog_std_format=YES

  • chroot_local_user=YES

  • listen=YES

  • pam_service_name=vsftpd

  • userlist_enable=YES

  • tcp_wrappers=YES

  • listen_port=834

4、  配置ftp上传文件路径

  • vi /etc/passwd

  • ftp:x:14:50:FTPUser:/home/ftp:/sbin/nologin # home/ftp为上传文件的路径

  • 上传文件的路径访问权限修改为755,不能777

  • 应该在上传文件下新建upload子目录,并为其赋权。

chown ftp:root .        chmod755 ftp:root .

5、  上传权限设置(无法上传,为SELinux(Security-EnhancedLinux)引起)

setsebool -P ftpd_disable_trans 1

setsebool ftp_use_passive_mode 1

setsebool ftpd_use_passive_mode 1

setsebool httpd_enable_ftp_server 1

setsebool tftp_anon_write 1

setsebool allow_ftpd_anon_write 1

setsebool allow_ftpd_use_cifs 1

setsebool ftpd_connect_db 1

setsebool allow_ftpd_use_nfs 1

6、  如果还是不行,可以关闭防火墙试试(service iptables stop

  • 启动/停止/重启

1、  service vsftpd start            #启动vsftpd服务

2、  service vsftpd stop             #停止vsftpd服务

3、  service vsftpd restart                 #重启vsftpd服务

  • 相关测试命令

1、  测试服务是否启动,端口是否监听?netstat -ntpl | grep vsftpd

2、  getsebool -a |grep ftp                #查看设置状态

3、service iptables status         # 查看防火墙状态

4、ftp

5、open xxx

6、put xxx


Ok!