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
1955

被折叠的 条评论
为什么被折叠?



