Ftp服务部署

一、安装 vsftpd

bash 复制代码
# Centos 安装 vsftpd
sudo yum install vsftpd -y

# Ubuntu 安装 vsftpd
sudo apt update
sudo apt install vsftpd -y

# 设置开机自启
sudo systemctl enable vsftpd

# 启动服务
sudo systemctl start vsftpd

# 查看服务状态(确认是否运行)
sudo systemctl status vsftpd

二、核心配置(匿名 / 本地用户模式)

安装完之后在/etc/vsftpd/路径下会存在几个配置文件

/etc/vsftpd/vsftpd.conf:vsftpd 的核心配置文件

/etc/vsftpd/ftpusers:用于指定哪些用户不能访问FTP 服务器(黑名单)

/etc/vsftpd/user_list:指定允许使用vsftpd 的用户列表文件(白名单)

/etc/vsftpd/chroot_list:指定允许使用vsftpd 的用户列表文件(控制名单下的目录能不能离开ftp根目录)

1.vsftpd.conf具体配置如下

bash 复制代码
anonymous_enable=NO  #允许匿名用户访问为了安全选择关闭
local_enable=YES   # 允许本地用户登录
write_enable=YES   # 是否允许写入
local_umask=022  # 本地用户上传文件的umask
dirmessage_enable=YES #为YES则进入目录时显示此目录下由message_file选项指定的文本文件(,默认为.message)的内容
xferlog_enable=YES #开启日志

xferlog_std_format=YES #标准格式
connect_from_port_20=YES
xferlog_file=/var/log/xferlog   #ftp日志目录

idle_session_timeout=6000 #设置客户端连接时间

data_connection_timeout=1200 #设置数据连接时间 针对上传,下载
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list #设置为YES则下面的控制有效
chroot_list_enable=YES #若为NO,则记录在chroot_list_file所指定的文件(默认是/etc/vsftpd.chroot_list)中的用户将被chroot在登录后所在目录中,无法离开.如果为YES,则所记录的用户将不被chroot.这里YES.
chroot_local_user=YES
userlist_deny=NO #若设置为YES则记录在userlist_file选项指定文件(默认是/etc/vsftpd.user_list)中的用户将无法login,并且将检察下面的userlist_deny选项
userlist_enable=YES #若为NO,则仅接受记录在userlist_file选项指定文件(默认是/etc/vsftpd.user_list)中的用户的login请求.若为YES则不接受这些用户的请求.
userlist_file=/etc/vsftpd/user_list #白名单
chroot_list_enable=YES
local_root=/var/ftp/pub #根目录
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

2.创建 FTP 本地用户并添加到user_list和chroot_list中去

bash 复制代码
# 创建用户 ftpuser
sudo useradd ftpuser

# 设置用户密码
sudo passwd ftpuser

# 授权目录权限
chmod 777 /var/ftp/pub
相关推荐
comedate18 小时前
Windows / Linux GPU 虚拟内存布局差异与 CUDA 越界访问行为
linux·windows·mmu·cuda 越界访问
暴力求解19 小时前
Linux网络---传输层协议TCP(二)
linux·服务器·开发语言·网络·tcp/ip
JoyCong199820 小时前
ToDesk个人版、专业版、游戏版、设计版、性能版、团队版权益介绍
大数据·运维·游戏·远程工作·远程操作
ltl20 小时前
序列化格式深度对比:Protobuf、FlatBuffers、Cap’n Proto
linux
lengjingzju20 小时前
编译与调试完全指南—第17章 总结
linux
ltl20 小时前
容器网络性能真相:veth vs macvlan vs eBPF 数据面
linux
Elastic 中国社区官方博客21 小时前
ES95:面向 Elasticsearch 时间序列指标的自适应压缩
大数据·运维·elasticsearch·搜索引擎·架构·全文检索
我不会插花弄玉21 小时前
9.进程间通信(上)【由浅入深-Linux】
linux·共享内存·进程通信
80s7771 天前
动态ip和静态ip有什么区别
服务器·网络·tcp/ip
mqiqe1 天前
AgentScope Java 2.0 Agent 状态存储(AgentStateStore)深度解析:构建可恢复、可扩展的智能体运行时
java·运维·网络