在Ubuntu1804搭建vsftpd服务
- 环境:在 Ubuntu1804 的 Docker 环境下。
- 要求:要在 Docker 容器中使用 Ftp 服务推送数据到 Windows10 的目录下。
- 方案:在 Ubuntu1804 搭建基于 Vsftpd,设置 Ftp 的目录在虚拟机和物理机的共享目录下。
1. 更新下载源
- 编辑下载源
# 备份源文件
sudo cp -rfv /etc/apt/sources.list /etc/apt/sources.list.back
# 编辑source.list文件
sudo vi /etc/apt/sources.list
language-shell复制代码
- 修改下载源
全选快捷键:shift+v 选中一行,shift+g 调到结尾实现全选
删除所选择的内容:dd
按 i 进入插入模式,复制如下内容:
deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
language-shell复制代码
2. 安装 vsftpd
sudo apt update && sudo apt install vsftpd
安装之后,检查 vsftpd 的状态
sudo service vsftpd status
3. 配置防火墙
sudo ufw allow OpenSSH
让我们为 FTP 打开端口 20 和 21,为被动 FTP 打开端口 40000-50000。我们还将为 TLS 打开端口 990,稍后将设置这个端口。
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp
sudo ufw allow 990/tcp
现在,如果还没有启用防火墙,就启用它。如果有关于破坏 SSH 连接的警告,请按 y 和 ENTER。
sudo ufw enable
要检查防火墙的状态,请运行:
sudo ufw status
4. 创建 FTP 用户
sudo adduser ftpuser
在 nano 中打开 SSH 配置。
sudo nano /etc/ssh/sshd_config
将以下代码添加到文件底部,用要拒绝 SSH 和 SFTP 访问的用户替换 ftpuser。
DenyUsers ftpuser
language-none复制代码
要保存文件并退出,请按 CTRL + x,按 y,然后按 ENTER。
重新启动 SSH 服务。
sudo service sshd restart
5. 上传到主文件夹
# 自定义ftp上传目录
sudo mkdir /vagrant/ftpdata
将此目录的所有权分配给新的 FTP 用户
# 自定义ftp上传目录
sudo chown ftpuser:ftpuser /vagrant/ftpdata
6. 配置 vsftpd
在编辑配置文件之前,创建一个备份。
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
现在,在 nano 编辑器中打开配置文件。
sudo nano /etc/vsftpd.conf
你需要去下面的文件,并确保设置匹配那些下面。注意: 你可以使用 CTRL + w 来搜索 nano
write_enable=YES
chroot_local_user=YES
local_umask=022
language-none复制代码
将以下内容粘贴到文件底部。(粘贴 nano,按下鼠标右键)
force_dot_files=YES
pasv_min_port=40000
pasv_max_port=50000
# 自定义ftp上传目录
local_root=/vagrant/ftpdata
allow_writeable_chroot=YES
要保存文件并退出,请按 CTRL + x,按 y,然后按 ENTER。
重新启动 vsftpd。
sudo systemctl restart vsftpd
7. 测试 FTP
查看日志
sudo tail /var/log/vsftpd.log -n 200
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以邮件至 hjxstart@126.com