服务器 Ubuntu 配置 ftp
安装
更新软件包
1 | sudo apt upgrade |
安装 vsftpd
1 | sudo apt-get install vsftpd |
ftp 启动,停止,重启,查看状态指令
1 | systemctl start vsftpd #启动 |
配置
编辑 /etc/vsftpd.conf 文件
1 | sudo vi /etc/vsftpd.conf |
FTP 配置文件部分说明(需要修改的部分):
1 | # 设置登录 FTP 欢迎信息 |
chroot_list_enable
chroot_local_user
chroot_list_file
通过搭配能实现以下几种效果:
- 当 chroot_list_enable=YES,chroot_local_user=YES 时,在 /etc/vsftpd.chroot_list 文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。
- 当 chroot_list_enable=YES,chroot_local_user=NO 时,在 /etc/vsftpd.chroot_list 文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。
- 当 chroot_list_enable=NO,chroot_local_user=YES 时,所有的用户均不能切换到其他目录。
- 当 chroot_list_enable=NO,chroot_local_user=NO 时,所有的用户均可以切换到其他目录。
通过终端访问 ftp(由于浏览器访问 ftp 在新版 chrome 与 edge 中皆已失效,在这里便不再列出)
1 | ftp ip 端口 |
创建 ftp 上传目录
需要与配置文件中的 local_root
指定的路径一致
1 | mkdir -p /home/ftp |
创建 ftp 用户
创建 vsftpd 用户组(若已存在请跳过该步)
1 | sudo groupadd vsftpd |
创建 ftp 用户
1 | sudo useradd -g vsftpd -d /home/ftp -M username |
参数说明:
- g:指定用户所属的组
- d:指定用户登入时的起始目录,这里即为 ftp 上传目录
- M:不创建用户的家目录
设置 ftp 用户的密码:
1 | sudo passwd username |
设置 ftp 用户权限
1 | sudo chown -R username:vsftpd /home/ftp |
由于设置了 chroot_list_enable
这几个选项,需要将用户名写入 /etc/vsftpd.chroot_list
文件,并重启 ftp 服务
1 | sudo vi /etc/vsftpd.chroot_list |
连接 ftp
这里推荐使用 XFTP 连接 ftp,上传下载文件非常方便。XFTP 官方提供了教育版,只需要点击下方链接填写邮箱就会受到包含下载链接的邮件: