Centos8搭建ftp服务器

Centos8搭建ftp服务器

前言:小白一枚,今天自己搭建FTP服务器,按照网上各种教程进行安装,到最后怎么也不成功,万幸最后终于能用了,写这个贴子留存一下,避免大家继续踩坑。
环境:centos8 vsftpd 3.0
安装步骤

  1. 安装vsftp

执行代码

yum install -y vsftpd
  1. 修改配置文件vi /etc/vsftp/vsftpd.conf
anonymous_enable=NO    #进制匿名访问

chroot_local_user=YES   #限制所有用户都在家目录

chroot_list_enable=NO   #调用限制在家目录的用户名单

chroot_list_file=/etc/vsftpd/chroot_list   #限制在家目录的用户名单所在路径设置参考

chroot_list_enable=YES/NO(NO)

设置是否启用chroot_list_file配置项指定的用户列表文件。默认值为NO。

chroot_list_file=/etc/vsftpd.chroot_list

用于指定用户列表文件,该文件用于控制哪些用户可以切换到用户家目录的上级目录。

chroot_local_user=YES/NO(NO)

用于指定用户列表文件中的用户是否允许切换到上级目录。默认值为NO。

通过搭配能实现以下几种效果:

①当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。

②当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd.chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。

③当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。
  1. 创建ftp用户
useradd ftpuser -d 【允许访问的ftp目录】 -s /sbin/nologin 
  1. 为用户设置密码
passwd ftpuser
# 输入两次密码,设置完成
  1. 启动vsftp服务
systemctl start vsftpd.service

以上步骤,即可完成初步配置,下面进行测试

测试FTP登录

这里使用的centos的ftp进行登录的,没有的可以先安装一下

yum install ftp

使用ifconfig命令查看本地的ip地址,这里就不进行演示了,
然后直接进行登录

[root@iZ2zeifxql4d9duz818vxyZ etc]# ftp [本地ip地址]
Connected to 172.29.201.241 (172.29.201.241).
220 (vsFTPd 3.0.3)
Name (172.29.201.241:root): ftpuser
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> 

至此,FTP服务器搭建完成。

注:如果提示502,则是/etc/shells文件下配置有问题

vi /etc/shells

在最后一行添加以下代码

/sbin/nologin

版权声明:本文为Honey_Badger_原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。