当前位置: 首页 > news >正文

Linux学习笔记11—VSFTP的搭建


1.查看是否安装vsftp
rpm -qa | grep vsftpd
如果出现vsftpd-2.0.5-21.el5,说明已经安装 vsftp

安装vsftp
yum -y install vsftpd
2、查看服务是否启动
Service vsftpd status // 查看VSFTPD的状态
Service vsftpd start //启动VSFTP服务
Service vsftpd restart //重新启动服务
Service vsftpd stop // 停止服务
3、配置vsftpd
# whereis vsftpd
vsftpd: /usr/sbin/vsftpd /etc/vsftpd /usr/share/man/man8/vsftpd.8.gz
yum安装的主要目录为上述的3个目录,其中配置文件vsftpd.conf在/etc/vsftpd中,下面看下怎么配置vsftpd.conf
# 默认配置文件: /etc/vsftpd.conf
# 下面是配置的选项及说明
######### 核心设置 ###########

# 允许本地用户登录
local_enable=YES
# 本地用户的写权限
write_enable=YES
# 使用FTP的本地文件权限,默认为077
# 一般设置为022
local_umask=022
# 切换目录时
# 是否显示目录下.message的内容
dirmessage_enable=YES
dirlist_enable = NO
#验证方式
#pam_service_name=vsftpd
# 启用FTP数据端口的数据连接
connect_from_port_20=YES
# 以独立的FTP服务运行
listen=yes
# 修改连接端口
#listen_port=2121
######### 匿名登录设置 ###########
# 允许匿名登录
anonymous_enable=NO
# 如果允许匿名登录
# 是否开启匿名上传权限
#anon_upload_enable=YES
# 如果允许匿名登录
# 是否允许匿名建立文件夹并在文件夹内上传文件
#anon_mkdir_write_enable=YES
# 如果允许匿名登录
# 匿名帐号可以有删除的权限
#anon_other_write_enable=yes
# 如果允许匿名登录
# 匿名的下载权限
# 匿名为Other,可设置目录/文件属性控制
#anon_world_readable_only=no
# 如果允许匿名登录
# 限制匿名用户传输速率,单位bite
#anon_max_rate=30000

######### 用户限制设置 ###########

#### 限制登录
# 用userlist来限制用户访问
#userlist_enable=yes
# 名单中的人不允许访问
#userlist_deny=no
# 限制名单文件放置的路径
#userlist_file=/etc/vsftpd/userlist_deny.chroot
#### 限制目录
# 限制所有用户都在家目录
#chroot_local_user=yes
# 调用限制在家目录的用户名单
chroot_list_enable=YES
# 限制在家目录的用户名单所在路径
chroot_list_file=/etc/vsftpd/chroot_list

######### 日志设置 ###########

# 日志文件路径设置
xferlog_file=/var/log/vsftpd.log
# 激活上传/下载的日志
xferlog_enable=YES
# 使用标准的日志格式
#xferlog_std_format=YES

 


######### 安全设置 ###########

# 用户空闲超时,单位秒
#idle_session_timeout=600
# 数据连接空闲超时,单位秒
#data_connection_timeout=120
# 将客户端空闲1分钟后断开
#accept_timeout=60
# 中断1分钟后重新连接
#connect_timeout=60
# 本地用户传输速率,单位bite
#local_max_rate=50000
# FTP的最大连接数
#max_clients=200
# 每IP的最大连接数
#max_per_ip=5

######### 被动模式设置 ###########

# 是否开户被动模式
pasv_enable=yes
# 被动模式最小端口
pasv_min_port=5000
# 被动模式最大端口
pasv_max_port=6000
######### 其他设置 ###########
# 欢迎信息
ftpd_banner=Welcome to Ftp Server!

4 添加ftp防火墙规则:(关闭防火墙之后不用添加)
/sbin/iptables -I INPUT -p tcp --dport 21 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables restart
关闭IPtables防火墙:
Chkconfig –level 2345 iptables off
Chkconfig –list 列出运行这的服务信息

5 添加用户(注意,该处添加nologin类型用户ftpuser):
useradd -d /home/ftp -s /sbin/nologin ftpuser
如果已启动vsftpd,重新启动
pkill vsftpd /usr/sbin/vsftpd &

http://www.cnblogs.com/thinksasa/archive/2013/02/28/2937066.html 详细链接


出现的问题:
1、 安装好vsftp软件后,链接ftp登陆后提示这样的错误
500 OOPS: cannot change directory:/home/
//查看SELinux设置
# getsebool -a|grep ftp
ftpd_disable_trans –> off
或者
ftp_home_dir–>off
//使用setsebool命令开启
# setsebool ftpd_disable_trans 1
或者
# setsebool ftp_home_dir 1
//查看当前状态是否是on的状态
# getsebool -a|grep ftp
ftpd_disable_trans –> on
或者
ftp_home_dir–>on
//setsebool使用-P参数,无需每次开机都输入这个命令
# setsebool -P ftpd_disable_trans 1
或者
# setsebool -P ftp_home_dir 1
2、 解决vsftpd 530 Permission denied
使用在vsftpd.conf中添加userlist_*阻止特定的本地用户
userlist_enable=YES
userlist_deny=YES
userlist_file=/etc/vsftpd/user_list

编辑/etc/vsftpd/user_list ,添加上需要阻止的本地用户,一个用户名一行 用被阻止的用户登录FTP显示的消息为:530 Permission denied
我本机的etc/vsftpd/vsftpd.conf文件里,只有userlist_enable=YES 于是用root用户登录报错530 Permission denied 把YES改成NO就OK了

还有一种情况,就是没有指定 userlist_file文件位置。解决:加上userlist_file=/etc/vsftpd/user_list

或者本地登录用户被添加到/user_list 列表中 ,只要把该用户删除就可以了。

转载于:https://www.cnblogs.com/beginner-boy/p/8866345.html

相关文章:

  • C++入门教程(10):for 语句
  • EventBus 3.0源码解析
  • SHELL传参简单实例
  • 如何选择开源的机器学习框架?
  • python shutil
  • Git 使用笔记
  • 数值实验-高斯消元LU分解
  • JSONP的跨域原理
  • Spring Boot 部署与服务配置
  • FormData的使用及input文件上传
  • 工业强基 - 头条新闻
  • CPU和内存 程序(线程)关系
  • 双循环递归匹配路由表
  • editplus 注册码
  • 在窗体中把DataGridView中的数据导出Excel
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • CODING 缺陷管理功能正式开始公测
  • DOM的那些事
  • Hibernate最全面试题
  • If…else
  • js面向对象
  • LeetCode29.两数相除 JavaScript
  • Mac转Windows的拯救指南
  • MaxCompute访问TableStore(OTS) 数据
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • Otto开发初探——微服务依赖管理新利器
  • yii2权限控制rbac之rule详细讲解
  • 从setTimeout-setInterval看JS线程
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 工作手记之html2canvas使用概述
  • 微信开源mars源码分析1—上层samples分析
  • 问题之ssh中Host key verification failed的解决
  • 一些css基础学习笔记
  • 用jquery写贪吃蛇
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • ​水经微图Web1.5.0版即将上线
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (四)Linux Shell编程——输入输出重定向
  • .Net CF下精确的计时器
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装
  • .Net中ListT 泛型转成DataTable、DataSet
  • @GetMapping和@RequestMapping的区别
  • @TableId注解详细介绍 mybaits 实体类主键注解
  • [ 云计算 | AWS ] AI 编程助手新势力 Amazon CodeWhisperer:优势功能及实用技巧
  • [2017][note]基于空间交叉相位调制的两个连续波在few layer铋Bi中的全光switch——
  • [C++从入门到精通] 14.虚函数、纯虚函数和虚析构(virtual)
  • [C进阶] 数据在内存中的存储——浮点型篇
  • [HCTF 2018]WarmUp (代码审计)
  • [HJ56 完全数计算]
  • [LeeCode]—Wildcard Matching 通配符匹配问题