CentOS踩坑记录之ftp服务器搭建

最近脑瓜子一热,买了台阿里云服务器。想着无聊的时候玩玩。但让我怎么也没想到的是,我就是从那时候开始在linux的路上一去不复返。。。。

搭这个东西的原因是因为在装tomcat的时候没有找到合适的镜像地址,导致下载一直出现404。所以只能在本机上下好了传到服务器上去。废话不多说,先上完整步骤。

  • 安装vsftpd
yum install vsftpd -y
  • 启动vsftpd
service vsftpd start 或者 systemctl start vsftpd.service
  • 加入开机启动
chkconfig vsftpd on 或者 systemctl enable vsftpd.service
启动后可以看到系统监听21端口
netstat -nltp | grep 21
  • 修改vsftpd的主要配置文件vsftpd.conf
vi /etc/vsftpd/vsftpd.conf
  • 找到以下两处并按下面的样子修改
#禁用匿名用户
anonymous_enable=NO

#开启以下配置(取消注释)
chroot_local_user=YES

chroot_list_enable=YES
# (default follows)

chroot_list_file=/etc/vsftpd/chroot_list

最后在文件末尾添加
allow_writeable_chroot=YES
不添加此项,连接ftp服务器的时候会报500 OOR。
  • 创建ftp用户
useradd 用户名
  • 为用户设置密码
echo "密码" | passwd 用户名 --stdin
  • 限制上步创建的用户只能通过ftp访问
usermod -s /sbin/nologin 用户名
  • 为用户分配主目录
mkdir -p /home/ftp/pub
  • 创建欢迎文件
echo "Welcome to use FTP service." > /home/ftp/welcome.txt
  • 设置访问权限
chmod a-w /home/ftp && chmod 777 -R /home/ftp/pub
  • 设置为用户主目录
usermod -d /home/ftp 用户名
  • 检查/etc/vsftpd/目录下有没有chroot_list这个文件。没有的话创建这个文件
vi /etc/vsftpd/chroot_list
在文件的第一行添加你刚刚创建的用户名,第二行添加为用户名设置的密码,保存
  • 保存后重启vsftpd
service vsftpd restart 或者 systemctl restart vsfptd.service
  • 配置防火墙添加21端口,并重启防火墙
firewall-cmd --permanent --zone=public --add-port=21/tcp
CentOS默认是关闭防火墙的。所以这个地方一般不用管

最后。如果是阿里云的ECS服务器。需要再去阿里云的云服务器管理控制台依次找到安全组(左下角)-配置规则(实例最右侧),配置21端口为允许访问。如果用xshell连不上服务器,也是需要在这里配置22端口允许访问。

上述步骤即可完成vsftpd搭建,但是客户端只能通过主动模式访问vsftpd,例如使用filezilla需要将传输模式的默认模式改为主动模式才能访问ftp服务器(具体设置为左上角文件下面的站点管理器-新站点-把你的服务器公网ip,用户名和密码都填上去,登录类型选正常,然后传输设置里面传输模式选择主动。就可以开始连接你的FTP服务器啦)。如果发现可以正常登陆但是无法将目录列出来,就是这个原因.如果需要直接可以访问的话,需要将ftp服务器开启被动模式

呕心沥血写出来的,转载请一定注明出处!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值