Linux下部署FTP服务


一、FTP安装和配置

1.FTP安装

yum install -y vsftpd

# 查看ftp状态
systemctl status vsftpd.service

# 启动ftp状态 重启:restart,停止:stop,开机自启:enable,关闭开机自启:disable
systemctl start vsftpd.service

2.FTP配置

# 编辑vsftpd.conf
vim /etc/vsftpd/vsftpd.conf

# 显示行号
:set nu

# 修改配置12行,不允许匿名访问,默认YES允许
anonymous_enable=NO

#修改配置83、84行  允许ascii文件上传下载
ascii_upload_enable=YES
ascii_download_enable=YES

#修改配置101,102,104行 将用户限制在为其配置的主目录
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

二、其他配置项

1.账号密码

# 新建一个ftpuser组
groupadd ftpuser

# 新建一个ftpuser账号,并且该账号不需要登录服务器,设定家目录在 /home/ftpuser,-d '用户主目录'
useradd -g ftpuser -M -d /home/ftpuser -s /sbin/nologin ftpuser

# 设置用户 ftpuser 的密码
passwd ftpuser

# 把 /home/ftpuser 的所有权给ftpuser
chown -R ftpuser:ftpuser  /home/ftpuser

# 在home目录下先创建文件夹,作为后续ftp账号的默认目录
mkdir -p  /home/ftpuser

# 设置目录权限为755
chmod 755 -R /home/ftpuser

# 进入/etc/vsftpd/目录
cd /etc/vsftpd/

# 创建用户密码信息文件
vim vuser_passwd

#编辑如下内容,创建ftp账户信息
ftpuser
123456
# Esc :wq保存退出

# 生成ftp用户数据文件
db_load -T -t hash -f /etc/vsftpd/vuser_passwd /etc/vsftpd/vuser_passwd.db

# 将该目录的权限改成600
chmod 600 /etc/vsftpd/vuser_passwd.db

2.chroot_list文件

# 进入目录/etc/vsftpd
cd /etc/vsftpd

#创建使当前配置的虚拟用户允许访问的文件列表
vim chroot_list

#写入FTP用户名
ftpuser
# Esc :wq 保存退出

3.防火墙

#  SELINUX不对vsftp不做任何限制
setsebool -P ftpd_full_access on

# 防火墙设置 IPtables 的设置方式:
vi /etc/sysconfig/iptables

#编辑iptables文件,添加如下内容,开启21端口
-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 40000:40010 -j ACCEPT

#firewall 的设置方式,以下指令
firewall-cmd --zone=public --add-service=ftp --permanent
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --zone=public --add-port=40000-40010/tcp --permanent
firewall-cmd --reload 

三、可能遇到的问题

通过FTP软件登录成功后,可能会遇到目录无法访问的情况。响应码为425 Failed to establish connection.
此时需要检查/etc/vsftpd/vsftpd.conf配置文件中是否有
pasv_enable=YES
pasv_min_port=6000
pasv_max_port=7000
若没有或错误,进行添加或修改,保存退出。
然后再将端口添加到对应的白名单中。

sudo iptables -A INPUT -p tcp --dport 6000:7000 -j ACCEPT

firewall-cmd --zone=public --add-port=6000-7000/tcp --permanent
firewall-cmd --reload

systemctl restart vsftpd.service #重启服务
  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

头马上秃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值