1.准备安装包
1. vsftpd-3.0.2-29.el7_9.x86_64.rpm
2. ftp-0.17-67.el7.x86_64.rpm
可以自行下载,也可从我的博客中下载,下载传送门点 这里
2.安装vsftpd
#1. 上传文件到服务器上,比如/home目录
#2. 执行以下命令安装
rpm -ivh vsftpd-3.0.2-29.el7_9.x86_64.rpm
#3. 启动vsftpd并设置开机自启
systemctl start vsftpd
systemctl enable vsftpd
3.测试
#1. 安装客户端
rpm -ivh ftp-0.17-67.el7.x86_64.rpm
#2. 登陆测试
ftp 127.0.0.1
#3. 会提示输入用户名直接输入: anonymous
#4. 会提示输入密码,直接回车,不需要输入任何东西,即可登录成功,登陆成功后会看到如下界面
4.设置禁止匿名访问且需要用户名密码访问
1) 新建ftp用户
#1. 创建用户目录,该目录为test用户ftp的根目录,即,test用户登陆进来之后,看到的内容就是/home/ftp/test/目录下的内容
mkdir -p /home/ftp/test
#2. 创建用户并指定主目录(不能ssh远程登录)
useradd -d /home/ftp/test -s /sbin/nologin -g ftp test
#3. 为test用户设置密码,该密码也是用于test用户登陆ftp的密码
passwd test
#4. 会提示输入密码,并提示重新输入密码,例如Test123456
#5. 将刚创建的目录所有者变更为ftp组下的test用户 格式为: 用户:用户组
chown test:ftp /home/ftp/test
#6. 为test目录设置访问权限
chmod 700 /home/ftp/test
2) 分别为ftp用户创建根目录配置文件,当前以test用户为例
#1. 新建用户本地根目录配置
mkdir -p /etc/vsftpd/userconfig
#2. 在/etc/vsftpd/userconfig/下创建以test用户名称为文件名的文件
#a. 先进入/etc/vsftpd/userconfig/目录下
#b. 创建名称为test的文件
vim test
#c. 填写test用户的主目录路径
local_root=/home/ftp/test
3) 将test用户追加写入/etc/vsftpd/user_list
echo 'test' >> /etc/vsftpd/user_list
4) 编辑vsftpd.conf
vim /etc/vsftpd/vsftpd.conf
将默认信息变更信息如下:
#禁止匿名用户访问
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
chroot_list_enable=NO
allow_writeable_chroot=YES
#开启监听ip_v4
listen=YES
listen_ipv6=NO
userlist_deny=NO
pam_service_name=vsftpd
userlist_enable=YES
#设置默认访问端口,默认为21
listen_port=2021
#设置随机生成连接端口的最小值及最大值
pasv_min_port=40001
pasv_max_port=49999
tcp_wrappers=YES
pasv_enable=YES
#定义ftp用户根目录配置文件
user_config_dir=/etc/vsftpd/userconfig
5) 重启服务vsftpd
systemctl restart vsftpd
5.测试
1) 使用账号:密码为test:Test123456的用户去测试
2) 注意: 如果提示421 Service not available, remote server has closed connection
需要进行如下操作:
步骤一:设置selinux为disbled
vim /etc/selinux/config
修改为如下:
步骤二: 设置临时
setenforce 0
3) 再次测试
到此,大功告成!就可以用其他ftp客户端使用test:Test123456去访问了
喜欢这篇文章的童鞋,麻烦点个赞留个关注再走吧(* ̄︶ ̄)