1.安装并启动FTP服务
安装VSFTPD vsftpd 是在linux上广泛使用的FTP服务,根据其官方文档介绍,它可能是Unix-like系统下最安全和快速的FTP服务器软件。
使用 apt-get 命令安装vsftpd: sudo apt-get install vsftpd -y
启动VSFTPD
安装完成后VSFTPD会自动启动,通过netstat可以查看到系统已经监听了21端口(FTP服务默认端口号为21)
sudo netstat -nltp | grep 21
如果没有启动,可以手动启动VSFTPD服务
sudo systemctr start vsftpd.service
2.备注用户访问目录
新建用户主目录: 用户主目录就是用户登录ftp后看到的根目录。
sudo mkdir /home/uftp
执行完成后,就可以在/home/目录下看到uftp目录了
创建登录欢迎文件
sudo touch /home/uftp/welcome.txt
新建用户 uftp 并设置密码
新增一个用户uftp
sudo useradd -d /home/uftp -s /bin/bash utfp
为utfp用户设置密码
sudo passwd uftp
删除掉paw.d中的vsftpd,因为该配置文件会导致用户登录ftp失败
sudo rm /etc/paw.d/vsftpd
限制该用户仅能通过ftp访问
限制用户uft仅能通过ftp访问服务器,不能登录访问服务器
sudo usermod -s /sbin/nologin uftp
修改vsftpd配置
sudo chmoda+w /etc/vsftpd.conf
修改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
修改vsftpd.user_list 文件,添加刚刚创建的用户uftp
设置访问权限
设置主目录的访问权限(只读)
sudo chmod a-w /home/uftp
新增公共目录/home/uftp/public,并设置权限(读写)
sudo mkdir /home/utfp/public && sudo chmod 777 -R /home/uftp/public
重启vsftp服务
sudo systemctrl restart vsftpd.server
3 访问ftp服务
FTP 服务我们已经按照完成,可以根据自己的实际情况采用下面的方式访问 ftp 服务
通过ftp 客户端工具访问
- FileZilla - 跨平台的 FTP 客户端,支持 Windows 和 Mac
- WinSCP - Windows 下的 FTP 和 SFTP 连接客户端
通过Window资源管理器访问
ftp://uftp:你的密码@ip地址