返回 导航

其他

hangge.com

CentOS - FTP服务器搭建教程(vsftpd、匿名模式、本地模式)

作者:hangge | 2022-10-27 08:10
    vsftpd 全称(very secure FTP daemon)是一款在 Linux 系统中最受欢迎的 FTP 服务器。我在之前的文章中介绍了如何使用 Docker 搭建该服务(点击查看),本文演示如何使用传统的方式进行安装,以及匿名用户模式和本地用户模式这两种方式的配置使用。
说明:匿名用户模式和本地用户模式只可同时配置一种。

1,安装 vsftpd

(1)首先执行如下命令安装 vsftpd
yum install -y vsftpd

(2)接着执行如下命令启动 vsftpd,并将其设置为开机自启动:
systemctl start vsftpd.service
systemctl enable vsftpd.service

(3)最后执行如下命令开放防火墙的 21 端口:
firewall-cmd --zone=public --add-port=20/tcp --permanent
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --reload

2,搭建匿名用户模式

(1)如果想要使用匿名模式,首先修改配置文件:
vi /etc/vsftpd/vsftpd.conf

(2)在文件中添加如下配置,然后保存退出:
# 打开匿名用户的上传权限
anon_upload_enable=YES
# 开启匿名用户的下载权限
anon_world_readable_only=no
# 打开匿名用户创建目录的权限
anon_mkdir_write_enable=YES
# 打开匿名用户删除和重命名的权限
anon_other_write_enable=YES

(3)最后执行如下命令重启服务:
systemctl restart vsftpd.service

(4)经过上面操作,匿名模式默认的文件夹还是只能下载文件,无法上传文件或者删除文件(报 553 Could not create file 错误)。这里我们创建一个专门的文件夹用于文件上传等操作:
mkdir /var/ftp/write
chmod -R 777 /var/ftp/write

(5)最后还需要执行如下命令关掉 selinux
setenforce 0

(6)使用匿名用户登录测试一下:

(7)在刚创建的目录下可以自由进行文件上传、下载、删除等操作。

3,搭建本地用户模式

(1)首先修改配置文件:
vi /etc/vsftpd/vsftpd.conf

(2)将匿名登陆 anonymous_enable=YES 改为 NO,然后保存退出:

(3)接着执行如下命令添加一个名为 hangge 的账户专门用于登陆 ftp(不能登录系统):
useradd hangge -s /sbin/nologin

(4)然后为该用户添加密码:
passwd hangge

(5)由于我们创建的是 nologin 账户,还需要修改 pam 认证方式:
vi /etc/pam.d/vsftpd

(6)在 auth required pam_shells.so 前面加上 # 号,将其注释掉:

(7)最后执行如下命令重启服务:
systemctl restart vsftpd.service

(8)使用该用户登录测试一下,可以发现文件上传、下载、删除等操作均正常:
评论

全部评论(0)

回到顶部