今天重新买了云服务器,发现之前阿里云的学生版已经没了,所以直接上腾讯云,发现资料很多,里面就有博客,很棒,而且博客相互跳转十分方便,视频资料也不错。给腾讯云打Call。
很大部分的步骤都是跟着下面这位兄弟的,大家可以看看,因为腾讯云上面博客教程的是用centos,所以还是要多到其他网站逛逛。
参考文档:https://www.cnblogs.com/feige1314/p/7095905.html
安装并启动 FTP 服务
使用 apt-get 安装 vsftpd:
sudo apt-get install vsftpd -y
启动 VSFTPD
安装完成后 VSFTPD 会自动启动,通过 netstat 命令查看端口监听情况:
sudo netstat -nltp | grep 21
grep用来定位21号端口

配置用户访问目录
新建用户主目录
sudo mkdir /home/uftp
在/home目录下新建一个目录,再注册同名新用户的话,这个用户的家目录就是这个目录了。
新建用户 uftp 并设置密码
【useradd命令】创建一个用户 uftp
sudo useradd -d /home/uftp -s /bin/bash uftp
【passwd命令】为用户 uftp 设置密码
sudo passwd uftp
【删除掉 pam.d 中 vsftpd】,因为该配置文件会导致使用用户名登录 ftp 失败:
sudo rm /etc/pam.d/vsftpd
限制该用户仅能通过 FTP 访问
限制用户 uftp 只能通过 FTP 访问服务器,而不能直接登录服务器:
sudo usermod -s /sbin/nologin uftp
修改 vsftpd 配置
sudo chmod a+w /etc/vsftpd.conf
修改 /etc/vsftpd.conf 文件中的配置(直接将如下配置添加到配置文件最下方)(直接复制就行了):
# 限制用户对主目录以外目录访问
chroot_local_user=YES
# 指定一个 userlist 存放允许访问 ftp 的用户列表
userlist_deny=NO
userlist_enable=YES
# 记录允许访问 ftp 用户列表
userlist_file=/etc/vsftpd.user_list
# 不配置可能导致莫名的530问题
seccomp_sandbox=NO
# 允许文件上传
write_enable=YES
# 使用utf8编码
utf8_filesystem=YES
============================================================
新建文件 /etc/vsftpd.user_list,用于存放允许访问 ftp 的用户:
sudo touch /etc/vsftpd.user_list
sudo chmod a+w /etc/vsftpd.user_list
修改 /etc/vsftpd.user_list ,加入刚刚创建的用户:
示例代码:vi /etc/vsftpd.user_list(编辑这个文件)
(文中写入)uftp
设置访问权限
设置主目录访问权限(只读):
sudo chmod a-w /home/uftp
新建公共目录,并设置权限(读写)————是目录的权限,不是文件的权限了:
这里非常关键,如果没有这个目录权限,上传的文件就会失败,因为你没有权限让这个目录里面放东西啊
sudo mkdir /home/uftp/xxx
sudo chmod 777 -R /home/uftp/xxx
重启vsftpd 服务:
sudo systemctl restart vsftpd.service
访问 FTP 服务
FTP 客户端工具众多,下面推荐两个常用的:
FileZilla - 跨平台的 FTP 客户端,支持 Windows 和 Mac
WinSCP - Windows 下的 FTP 和 SFTP 连接客户端
我们使用FileZilla:网上下载一个版本
1.主机名是在云服务器的控制台可以找到你的服务器公网
2.用户名和密码用刚刚useradd和passwd设置的那两个
3.端口是21
