网上有很多类似文档,本文借鉴了很多前辈的劳动成果,在此感谢。
1.1 查看是否已经安装vsftpd rpm -q vsftpd 或者 rpm -qa | grep ftp
1.2 安装vsftpd
yum -y install vsftpd
#看下能否启动
service vsftpd start
- 1
- 2
1.2.1 配置vsftpd
#备份
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.confbak
#简易修改
vi /etc/vsftpd/vsftpd.conf
#不允许匿名用户登录
anonymous_enable=NO
#chroot_local_user设置了YES,那么所有的用户默认将被chroot,
# 也就用户目录被限制在了自己的home下,无法向上改变目录。
chroot_local_user=YES
#禁止用户下载
download_enable=NO
#设置开机启动
chkconfig vsftpd on
#重启FTP服务
service vsftpd start
vsftpd启动后,默认的ftp端口是21,现在我想把ftp端口改成801 ,修改后能保证用户上传下载不受影响。
1.编辑 /etc/vsftpd/vsftpd.conf 文件,在该配置文件中添加此行:listen_port=801
2.编辑 /etc/services 文件,将其中的 ftp 21/tcp 改为 ftp 801/tcp , ftp 21/udp改为 ftp 801/udp
3.执行 /etc/init.d/vsftpd restart 重新启动 vsftpd 服务。启动完成后可以使用 netstat -ntpl | grep vsftpd 命令可以查看到系统现监听的 vsftpd 的端口为 801
4.使用 ftp://192.168.0.1:801(192.168.0.1 是 vsftpd 服务器的地址 ),这样既可以访问到 ftp 服务器了。
有些小伙伴说修改后还是21端口,请注意第3步是否执行重启成功。
Centos 下搭建FTP上传下载服务器
#日志
/var/log/xferlog
- 1
- 2
1.3 关闭selinux
vim /etc/selinux/config
#将SELINUX=enforcing改为SELINUX=disabled,重启生效
#或者临时关闭
setenforce 0
- 1
- 2
- 3
- 4
- 5
资料1 查看 SELinux状态及关闭SELinux
资料2 Linux 下为何要关闭 SELinux?
1.4 配置防火墙
vim /etc/sysconfig/iptable
#添加内容
#-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
#重起防火墙,使配置生效
service iptables restart
- 1
- 2
- 3
- 4
- 5
tag :aliyun centos6.8没用iptable,参见 解决CentOS 6.6,/etc/sysconfig/下没有iptables的问题
1.5 添加用户
useradd -g ftp -s /sbin/nologin -d /data/ftp/ftpbai ftpbai
passwd ftpbai
chown root:ftp /data/ftp
chmod 755 /data/ftp
- 1
- 2
- 3
- 4
- 5
- 6
1.6 filezilla测试
测试报错,读取目录列表失败,请配置下filezilla,参考
FileZilla读取目录列表失败的解决办法