1.使用命令 rpm -qa|grep vsftpd 查看系统是否安装了ftp
2.使用命令rpm -e vsftpd 即可卸载ftp
3.安装,并设置开机启动
yum -y install vsftpd
chkconfig vsftpd on
4.修改防火墙
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 18897 -j ACCEPT
service iptables restart
5.useradd -d /data/ftp -s /sbin/nologin -g ftp -G root ftpUser
解析:
useradd 添加用户keithwang
-d 指定用户根目录为/data/ftp
-s 指定shell脚本为/sbin/nologin,表示不允许shell登录
-g 创建分组ftp
-G 指定root分组
PS:创建有问题可以删除重新创建 userdel -r keithwang
6.设定密码
passwd ftpUser
7.配置vsftpd
vi /etc/vsftpd/vsftpd.conf
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
vi /etc/vsftpd/chroot_list
内容为ftp用户名,每个用户占一行,如:
ftpUser
8.service vsftpd restart
9.不能操作文件
1.setsebool -P ftpd_disable_trans 1
2.service vsftpd restart
原因:这是因为服务器开启了selinux,这限制了FTP的登录。
在终端输入:sestatus -b |grep ftp
查看ftp相关的权限配置,通过下面的命令修改权限
setsebool allow_ftpd_full_access 1
setsebool allow_ftpd_use_cifs 1
setsebool allow_ftpd_use_nfs 1
setsebool ftp_home_dir 1
setsebool httpd_enable_ftp_server 1
10.开启防火墙不能访问
第一种:打开:vi /etc/vsftpd/vsftpd.conf在最后面加入如下:
pasv_min_port=18897
pasv_max_port=18897
-A INPUT -m state –state NEW -m tcp -p tcp –dport 18897 -j ACCEPT
第二种:
1.打开:vi /etc/vsftpd/vsftpd.conf在最后面加入如下:
pasv_min_port=30900
pasv_max_port=30999
2.再在iptable防火墙规则中加入如下规则:
打开:vi /etc/sysconfig/iptables 加入如下:
-A INPUT -m state –state NEW -m tcp -p tcp –dport 30900:30999 -j ACCEPT
还是不行的话可以在/etc/sysconfig/iptables-config 做如下配置尝试
添加如下:
IPTABLES_MODULES="ip_conntrack_netbios_ns"
IPTABLES_MODULES="ip_conntrack_ftp"
IPTABLES_MODULES="ip_nat_ftp"
service iptables restart