FTP服务器-vsftpd 安装与卸载指南

vsftpd 安装与卸载指南

一、在 Linux 上安装 FTP 服务器(以 Ubuntu 为例)

1. 安装 vsftpd

sudo apt update
sudo apt install vsftpd

2. 启动 vsftpd 服务并设置开机自启

sudo systemctl start vsftpd
sudo systemctl enable vsftpd
sudo systemctl status vsftpd

3. 创建 FTP 用户

sudo adduser ftpuser

设置密码,并按提示完成用户信息填写。

4.配置目录权限(示例以 /home/ftpuser/ftp 为主目录)

sudo mkdir -p /home/ftpuser/ftp/upload
sudo chown nobody:nogroup /home/ftpuser/ftp
sudo chmod a-w /home/ftpuser/ftp
sudo chown ftpuser:ftpuser /home/ftpuser/ftp/upload

5. 配置 vsftpd

编辑配置文件:

sudo vim /etc/vsftpd.conf

默认配置:

listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
#write_enable=YES
#local_umask=022
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
#chown_uploads=YES
#chown_username=whoever
#xferlog_file=/var/log/vsftpd.log
#xferlog_std_format=YES
#idle_session_timeout=600
#data_connection_timeout=120
#nopriv_user=ftpsecure
#async_abor_enable=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
#ftpd_banner=Welcome to blah FTP service.
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd.banned_emails
#chroot_local_user=YES
#chroot_local_user=YES
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
#utf8_filesystem=YES

推荐配置(添加如下配置):

# 禁止匿名访问
anonymous_enable=NO

# 启用本地用户访问
local_enable=YES

# 启用上传权限
write_enable=YES

# 限制用户只能访问自己的家目录
chroot_local_user=YES

# 允许上传和创建目录
allow_writeable_chroot=YES

# 使用被动模式(用于 NAT/防火墙环境)
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000

# 支持 UTF-8 编码
utf8_filesystem=YES

其他配置详解:

# 是否以独立进程监听 IPv4
listen=NO

# 是否监听 IPv6(推荐开启,同时监听IPv4和IPv6)
listen_ipv6=YES

# 是否允许匿名用户访问(默认关闭)
anonymous_enable=NO

# 是否允许本地系统用户登录
local_enable=YES

# 是否允许写操作(如上传/删除),需要开启上传功能必须启用
#write_enable=YES

# 设置本地用户上传文件的默认权限掩码(022 -> 755)
#local_umask=022

# 是否允许匿名用户上传(仅当 anonymous_enable 和 write_enable 均为 YES 时)
#anon_upload_enable=YES

# 是否允许匿名用户创建目录
#anon_mkdir_write_enable=YES

# 进入目录是否显示 .message 文件中的内容
dirmessage_enable=YES

# 使用本地时间(默认是 GMT)
use_localtime=YES

# 启用上传下载日志记录
xferlog_enable=YES

# PORT 模式下是否使用端口 20 发起数据连接
connect_from_port_20=YES

# 设置自定义日志文件路径(默认 /var/log/xferlog)
#xferlog_file=/var/log/vsftpd.log

# 是否使用标准 xferlog 格式
#xferlog_std_format=YES

# 设置会话空闲超时时间(秒)
#idle_session_timeout=600

# 设置数据连接空闲超时时间(秒)
#data_connection_timeout=120

# 建议设置为一个非特权用户(隔离用户环境用)
#nopriv_user=ftpsecure

# 是否允许异步 ABOR 命令(一般不推荐,涉及安全)
#async_abor_enable=YES

# 是否启用 ASCII 模式上传(不推荐)
#ascii_upload_enable=YES

# 是否启用 ASCII 模式下载
#ascii_download_enable=YES

# 自定义登录欢迎语
#ftpd_banner=Welcome to blah FTP service.

# 拒绝匿名邮箱地址文件配置
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd.banned_emails

# 是否将本地用户限制在 home 目录下(开启 chroot 隔离)
#chroot_local_user=YES

# 是否启用 chroot 排除名单(与上配合使用)
#chroot_list_enable=YES

# chroot 排除名单文件路径
#chroot_list_file=/etc/vsftpd.chroot_list

# 启用 ls -R 递归功能(某些 FTP 客户端需要)
#ls_recurse_enable=YES

# chroot 安全目录(必须存在,不可写)
secure_chroot_dir=/var/run/vsftpd/empty

# PAM 验证服务名称
pam_service_name=vsftpd

# SSL/TLS 配置
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO

# 是否启用 UTF-8 文件系统支持
#utf8_filesystem=YES

6. 重启服务

# 重启服务
sudo systemctl restart vsftpd

7. 测试连接

ftp localhost
# 或使用用户名登录
ftp 127.0.0.1

#测试上传文件
curl -T file.txt ftp://ftpuser:密码@127.0.0.1/upload/

二、卸载 vsftpd

1. 卸载软件

sudo apt remove vsftpd

2. 连配置一起卸载(推荐)

sudo apt purge vsftpd

3. 清理依赖

sudo apt autoremove

4. 删除相关文件(可选)

sudo rm -rf /var/ftp
sudo rm -rf /home/ftpuser
sudo rm -f /var/log/vsftpd.log

5. 如果是 CentOS/RHEL:

sudo yum remove vsftpd
# 或
sudo dnf remove vsftpd
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值