CentOS系统安装vsftpd

下载并安装 vsftpd

apt-get install vsftpd

安装后检查 service vsftpd status

修改配置文件(被动/匿名用户模式)

vi /etc/vsftpd.conf

anonymous_enable=NO

listen=YES

listen_port=21

ascii_upload_enable=YES

ascii_download_enable=YES

local_enable=YES

guest_enable=YES

guest_username=ftp

virtual_use_local_privs=YES

pasv_enable=YES

port_enable=NO

pasv_min_port=28000

pasv_max_port=28999

anon_world_readable_only=NO

write_enable=NO

anon_upload_enable=NO

anon_mkdir_write_enable=NO

anon_other_write_enable=NO

chroot_local_user=YES

pam_service_name=vsftpd.vu

user_config_dir=/etc/vsftpd/vsftpd_user_conf

xferlog_enable=YES

xferlog_file=/var/log/vsftpd.log

allow_writeable_chroot=YES

配置匿名用户的文本文件

mkdir /etc/vsftpd

cd /etc/vsftpd

vi login.txt

输入文本:

ftp

$ftpPassword

注:奇数行账号,偶数行密码

导入用户文本文件到数据库

db_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/login.db

如果没有找到命令db_load,需安装

apt-get install db-util

配置pam_service_name对应文件

首先,全局查找文件pam_userdb.so的路径。

find / -name pam_userdb.so

vi /etc/pam.d/vsftpd.vu

输入以下内容:

auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd/login

account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd/login

配置匿名用户的ftp根目录和权限

mkdif /etc/vsftpd/vsftpd_user_conf

vi /etc/vsftpd/vsftpd_user_conf/ftp

注:文件名称要与ftp账号文件中输入的ftp账号一致

输入以下内容:

local_root=/home/terry/store/ftp

write_enable=YES

anon_umask=022

anon_world_readable_only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

创建匿名用户,或修改匿名用户根目录

如果账号是ftp,则安装vsftpd时已默认创建了该用户,需要修改用户根目录与上面local_root一致。

vi /etc/passwd

例如:

ftp:x:127:132:ftp daemon,,,:/home/terry/store/ftp:/usr/sbin/nologin

如果是其他账号,则需要新增用户。比如新增账号ftp2,

useradd -d/home/terry/store/ftp2 -s /sbin/nologin ftp2

修改ftp目录的访问权限

chown ftp:ftp /home/terry/store/ftp

chmod 755 /home/terry/store/ftp

配置防火墙

sudo ufw allow 21

sudo ufw allow 28000:28999/tcp

sudo ufw reload

重启vsftpd服务

sudo service vsftpd restart

相关推荐
X.Ming 同学4 分钟前
QXlsx 库在麒麟 Linux(Qt 5.15.2)下完整安装步骤(含问题排查 & 经验总结)
linux·数据库·qt
杰克崔7 分钟前
localtime接口与localtime_r接口
linux·运维·服务器·车载系统
HalvmånEver8 分钟前
Linux:简介(进程间通信一)
linux·运维·服务器
阿沁QWQ14 分钟前
windows连接服务器免密
运维·服务器
代码游侠18 分钟前
学习笔记——数据封包拆包与协议
linux·运维·开发语言·网络·笔记·学习
开开心心_Every18 分钟前
定时管理进程:防止沉迷电脑的软件推荐
xml·java·运维·服务器·网络·数据库·excel
云霄IT19 分钟前
ssh使用代理连接服务器:基本用法使用ncat
运维·服务器·ssh
FIT2CLOUD飞致云20 分钟前
支持IP证书签发、数据库TCP代理,1Panel v2.0.16版本正式发布
linux·运维·服务器·开源·1panel·ip证书
Q741_14723 分钟前
Linux UDP 服务端 实战思路 C++ 套接字 源码包含客户端与服务端 游戏服务端开发基础
linux·服务器·c++·游戏·udp
北方的流星25 分钟前
华为路由协议重定向配置
运维·网络·华为