- 前提条件
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!