vsftp 常见配置测试与故障排除
匿名用户 /var/ftp
本地用户 /home/username
配置vsftpd时,强烈建议
·# cp /etc/vsftpd.conf /etc/vsftpd.conf1 //备份,vsftpd.conf是个比较苛刻的主文件,修改时不小心在有效行后加一个空格就会使服务启用失败
# diff /etc/vsftpd.conf /etc/vsftpd.conf1 //文件内容比较
·做一步,重启一下,测试
# vi /etc/vsftpd.conf
anonymous_enable=YES // :7 ,匿名帐户可登陆
local_enable=YES // :10 ,本地帐户可以登陆
write_enable=YES // :13 ,用户通过ftp在服务器上是否有写权限
local_umask=022 // :17 ,创建时默认权限。文件夹=777-umask,文件=666-umask
anon_upload_enable=YES // :22 ,允许匿名帐户上传
anon_mkdir_write_enable=YES // :26 ,允许匿名帐户创建文件夹
chown_uploads=YES // :41 ,开启匿名帐户上传自动更改所属功能
chown_username=bob // :42 ,属主改为bob
idle_session_timeout=600 // :52 ,空闲会话超时时间
ascii_upload_enable=YES // :76 ,以ASCII方式上传
ftpd_banner=Welcome to blah FTP service. // :80 ,欢迎界面
chroot_list_enable=YES // :91 ,开启用户更改根目录功能,默认为禁用更改根
chroot_list_file=/etc/vsftpd.chroot_list // :93 ,该文件中所有用户无法更改根
查看文件其它参数 # man vsftpd.conf
anon_other_write_enable=YES // 允许匿名帐户删除、重命名
anon_root=/ftp // 更改匿名帐户根目录,默认为"/var/ftp"
local_root=/local // 更改本地帐户根目录为/local,默认为用户主目录~
userlist_enable=YES // 开启用户列表功能
userlist_deny=YES // 用户列表文件中所有帐户全拒绝。NO时,只有列表中用户能登陆
userlist_file=/etc/vsftpd.user_list // 用户列表文件
anon_max_rate=0 // 匿名用户最大传输速率,0为无限
local_max_rate=0 // 本地用户最大传输速率,0为无限
max_clients=0 // 最大客户端连接数,0为无限
pasv_max_port=0 // 客户端端口最大限制,0为无限制
pasv_min_port=0 // 客户端端口最小限制,0为无限制
测试:
方法一、IE(不建议)
方法二、cmd(强烈推荐),有回显提示。
ftp常用测试命令
? 帮助
bye 退出
quit 退出
exit 退出(仅linux客户端)
cd 服务器端路径更改
lcd 本地路径更改
pwd 显示服务器端当前路径
dir 显示服务器端当前目录中内容(显示权限)
ls 显示服务器端当前目录中内容(在linux中使用时也显示权限)
put 上传
get 下载
mkdir 建文件夹
rmdir 删除文件夹
rename 重命名
delete 删除文件
实验一、针对于本地用户的设置
1、限定只有本地帐户能登陆,匿名帐户无法登陆
2、本地帐户bob不可以更改自已主目录以外的其他目录
3、在本地帐户中只有bob能登陆,alice不能登陆
4、本地帐户可以上传文件,以ASCII方式上传
5、登陆时显示欢迎信息“Welcome to my ftp site”
# vi /etc/vsftpd.conf
anonymous_enable=NO // 1、:7;需改
local_enable=YES // 1、:10;默认,确认
230 Login successful. Have fun. 验证:登陆成功提示
Login failed. 验证:登陆失败提示
chroot_list_enable=YES // 2、:91;需删除开头#号注释
chroot_list_file=/etc/vsftpd.chroot_list // 2、:93;需删除开头#号注释
ftp> pwd
257 "/" 验证:成功显示
257 "/home/bob" 验证:改之前显示
userlist_enable=YES // 3、添加
userlist_deny=NO // 3、添加
userlist_file=/etc/vsftpd.user_list // 3、添加
write_enable=YES // 4、:13;默认,确认
ascii_upload_enable=YES // 4、:76;需删除开头#号注释
ftpd_banner=Welcome to my ftpsite // 5、:80;需删除开头#号注释,需修改
x: > ftp 192.168.1.201
Connected to 192.168.1.201.
220 Welcome to my ftp site 验证:未登陆提示
# echo bob >> /etc/vsftpd.user_list // 3、添加新行bob
# echo bob > /etc/vsftpd.chroot_list // 2、需存在该文件
# chkconfig vsftpd on // 超级守护立即启动、开机自动启动
# service xinetd restart // 重启vsftpd服务
测试:
x: > ftp linux.wnt.com.cn
实验二、针对于匿名帐户的设置
1、只有匿名帐户可以登陆
2、在FTP目录下创建incoming目录
3、允许匿名访问,但不允许在ftp目录中创建,删除
4、允许匿名用户在incoming目录中上传,创建,删除目录。
5、匿名帐户上传的文件,自动变为alice所属
6、用户空闲600秒自动中断
7、匿名帐户最大传输速率50kbytes/sec
8、客户端口连接范围50000到60000
# vi /etc/vsftpd.conf
anonymous_enable=YES // 1、:7或“/anonymous” 确认
local_enable=NO // 1、:10或“/local” 修改
anon_upload_enable=YES // 4、:22或“/upload” 删除注释
anon_mkdir_write_enable=YES // 4、:26或“/mkdir” 删除注释
anon_other_write_enable=YES // 4、:27 添加
chown_uploads=YES // 5、:41或“/chown” 删除注释
chown_username=alice // 5、:42 删除注释,再修改
idle_session_timeout=600 // 6、:52或“session” 删除注释
anon_max_rate=50000 // 7、 添加
pasv_min_port=50000 // 8、 添加
pasv_max_port=60000 // 8、 添加
# mkdir /var/ftp/incoming // 2、
# chmod go+w /var/ftp/incoming // 4、 g(group)组、o(other)其它人全有写权限
# chkconfig vsftpd on ==> # service xinetd restart
实验三、针对于超级守护的安全性限制(8。0版本可配,因9。0后vsftpd改为独立守护进程不能用此方法)
1、限定192.168.1.0/24能访问
2、10.0.0.0不能访问
3、每个客户机最大连接数1
4、服务器最大连接数200
5、只有13:00到17:00期间能访问ftp服务器
# vi /etc/xinetd.d/vsftpd
only_from = 192.168.1.0 // 1、添加在括号内
no_access = 10.0.0.0 // 2、添加在括号内
per_source = 1 // 3、添加在括号内
instances = 200 // 4、添加在括号内
access_times = 13:00-17:00 // 5、添加在括号内
ftp客户连接常见故障现象
现象0:
> ftp: connect :连接被拒绝
原因: 服务没启动
解决: # chkconfig vsftpd on
现象1:
500 OOPS: cannot open user list file
原因: 不存在文件“/etc/vsftpd.user_list”或文件中不存在该帐户
解决: # echo username >> /etc/vsftpd.user_list
现象2:
530 Permission denied.
Login failed.
原因: “/etc/vsftpd.user_list”文件中不存在当前登陆用户
解决: # echo username >> /etc/vsftpd.user_list
现象3:
500 OOPS: cannot open chroot() user list file
Login failed.
原因: 不存在文件“/etc/vsftpd.chroot_list”
解决: # echo username >> /etc/vsftpd.chroot_list
现象4:
500 OOPS: missing value in config file
Connection closed by remote host.
原因: “=”等号前值有问题,或只有一个空格
解决: 修正相应的值即可,可能过 diff 来比较查找
现象5:
500 OOPS: bad bool value in config file
Connection closed by remote host.
原因: “=”等号后值有问题
解决: 将“=”等号后值确认修改
现象6:
500 OOPS: unrecognised variable in config file
Connection closed by remote host.
原因: 参数前有空格
解决: 将参数前空格删除
现象7、
确认存在“local_enable=YES”,但本地用户无法登陆
原因: 验证参数被误删除
解决: 添加“pam_service_name=vsftpd”
现象8、
500 OOPS: chdir
500 OOPS: child died
Connection closed by remote host.
原因: 用户主目录没有权限或没有主目录
解决: 正确设置用户主目录权限
500 OOPS: vsFtpd :refusing to run with writable anonymous root
指的是ftp的主目录不能为777权限,如:/var/ftp 此目录的权限为775即可
vsftp 常见配置测试与故障排除的更多相关文章
- Longhorn 云原生容器分布式存储 - 故障排除指南
内容来源于官方 Longhorn 1.1.2 英文技术手册. 系列 Longhorn 是什么? Longhorn 云原生容器分布式存储 - 设计架构和概念 Longhorn 云原生容器分布式存储 - ...
- 理解 OpenStack + Ceph (7): Ceph 的基本操作和常见故障排除方法
本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 ...
- ORA-4031 错误故障排除与诊断[视频] (Doc ID 2016002.1)
Copyright (c) 2019, Oracle. All rights reserved. Oracle Confidential. ORA-4031 错误故障排除与诊断[视频] (Do ...
- 详细故障排除步骤:针对 Azure 中到 Windows VM 的远程桌面连接问题
本文提供详细的故障排除步骤,用于为基于 Windows 的 Azure 虚拟机诊断和修复复杂的远程桌面错误. Important 若要消除更常见的远程桌面错误,请务必先阅读远程桌面的基本故障排除文章, ...
- spark——故障排除
故障排除一:控制reduce端缓冲大小以避免OOM 在Shuffle过程,reduce端task并不是等到map端task将其数据全部写入磁盘后再去拉取,而是map端写一点数据,reduce端task ...
- Kubernetes Deployment故障排除图解指南
个人K8s还在学习中,相关博客还没有写,准备学第二遍再开始学,发现这篇文章挺好,先转载一下. 原创: 白明的赞赏账户 下面是一个示意图,可帮助你调试Kubernetes Deployment(你可以 ...
- spark 性能优化 数据倾斜 故障排除
版本:V2.0 第一章 Spark 性能调优 1.1 常规性能调优 1.1.1 常规性能调优一:最优资源配置 Spark性能调优的第一步,就是为任务分配更多的资源,在一定范围 ...
- Sentry 监控 - 私有 Docker Compose 部署与故障排除详解
内容整理自官方开发文档 系列 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - 创建版本 快速使用 Docker 上手 Sentry-CLI - 30 秒上手 Source Map ...
- 分步骤讲解Deployment故障排除
背景假设 当你希望在Kubernetes中部署应用程序时,你通常会定义三个组件: 一个Deployment - 这是一份用于创建你的应用程序的Pod副本的"食谱": 一个Servi ...
随机推荐
- android ------ 高版本的 Tablayout 下划线宽度
前面呢,有写过TabLayout的博客,最近开发用到了高本版遇到一些问题,来总结一下 Android--------TabLayout实现新闻客户端顶部导航栏 Android中Tablayout设置下 ...
- 爬虫框架Scrapy的安装
Scrapy框架官方网址:http://doc.scrapy.org/en/latest Scrapy中文维护站点:http://scrapy-chs.readthedocs.io/zh_CN/lat ...
- C++ vector使用实例
C++ vector #include <iostream> #include <vector> #include <string> #include <al ...
- 使用java计算数组方差和标准差
使用java计算数组方差和标准差 觉得有用的话,欢迎一起讨论相互学习~Follow Me 首先给出方差和标准差的计算公式 代码 public class Cal_sta { double Sum(do ...
- java 方法传值浅拷贝验证
source code import org.junit.Test; public class SigmoidTruncatedSuit { @Test public void main_test() ...
- Hadoop入门——初识Hadoop
一.hadoop是什么 Hadoop被公认是一套行业大数据标准开源软件,在分布式环境下提供了海量数据的处理能力.几乎所有主流厂商都围绕Hadoop开发工具.开源软件.商业化工具和技术服务.今年大型IT ...
- 浅谈Javascript 浅拷贝和深拷贝的理解
javascript中存储对象都是存地址的. 浅拷贝:浅拷贝是都指向同一块内存区块,浅拷贝共用同一内存地址,你改值我也变.如果拷贝的对象里面的值是一个对象或者数组,它就是浅拷贝,拷贝的知识引用地址. ...
- Git GUI,Git Bash,Git CMD之间的区别
Git GUI,Git Bash,Git CMD之间的区别 Git Bash: Bash,Unix shell的一种,Linux与Mac OS X v10.4都将它作为默认shell.Git Bash ...
- 题解 CF53E 【Dead Ends】
题意: 给一个n(n<=10)个节点的无向图,图里面有m条边,以这m条边构建生成树,求所有生成树中只含有k个度数为1的点的方案数. 题解: 看见这个数量级就一定会想到状态压缩dp... 那让我们 ...
- JAVA知识点总结篇(三)
抽象类 使用规则 abstract定义抽象类: abstract定义抽象方法,只有声明,不需要实现: 包含抽象方法的类是抽象类: 抽象类中可以包含普通方法,也可以没有抽象方法: 抽象类不能直接创建,可 ...