1.安装vsftpd
yum install vsftpd
2.添加一个ftp用户,一个不能登录系统用户,只用来登录ftp服务,这里如果没设置用户目录。默认是在home下。
useradd ftpaccount -s /sbin/nologin
指向其它目录,请运行指令:
useradd ftpaccount -s /sbin/nologin –d /其他目录
设置密码:
passwd ftpaccount
3.配置ftp配件
进入/etc/vsftpd 到该目录下后,编辑vsftpd.conf文件
3.1设置anonymous_enable=NO //设置不允许匿名访问
3.2设置pasv模式(被动模式,系统默认):pasv_enable=YES
3.3设置最小端口 pasv_min_port=4500
3.4设置最大端口 pasv_max_port=5000
3.4设置用户权限:chroot_local_user=YES chroot_list_enable=YES # (default follows) chroot_list_file=/etc/vsftpd/chroot_list
3.5新建/etc/vsftpd/chroot_list文件并在里面加入上面创建的ftpaccount用户
- chroot_local_user #是否将所有用户限制在主目录,YES为启用 NO禁用.(该项默认值是NO,即在安装vsftpd后不做配置的话,ftp用户是可以向上切换到要目录之外的)
- chroot_list_enable #是否启动限制用户的名单 YES为启用 NO禁用(包括注释掉也为禁用)
- chroot_list_file=/etc/vsftpd/chroot_list #是否限制在主目录下的用户名单,至于是限制名单还是排除名单,这取决于chroot_local_user的值,我们可以这样记忆: chroot_local_user总是一个全局性的设定,其为YES时,全部用户被锁定于主目录,其为NO时,全部用户不被锁定于主目录。那么我们势必需要在全局设定下能做出一些“微调”,即,我们总是需要一种“例外机制",所以当chroot_list_enable=YES时,表示我们“需要例外”。而”例外“的含义总是有一个上下文的,即,当”全部用户被锁定于主目录“时(即chroot_local_user=YES),"例外"就是:不被锁定的用户是哪些;当"全部用户不被锁定于主目录"时(即chroot_local_user=NO),"例外"“就是:要被锁定的用户是哪些。这样解释和记忆两者之间的关系就很清晰了!
4.打开端口
firewall-cmd --zone=public --add-port=21/tcp --permanent firewall-cmd --zone=public --add-port=4500-5000/tcp --permanent
重新加载防火墙:
firewall-cmd --reload
查看开放的端口:
firewall-cmd --list-ports
5.启动VSFTPD
systemctl start vsftpd.service
重启:
systemctl restart vsftpd.service
6.开机启动:
chkconfig vsftpd on
查看服务器是否安装了vsftpd:
1 | rpm -qa|grep vsftpd |
用CMD上传文件测试:ftp+IP测试,上传用put+文件命令
分类:
Linux
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端