1  搭建vsftp 服务器

前期准备:

1、用root 进入系统

2、使用命令 rpm  -qa|grep vsftpd 查看系统是否安装了ftp,若安装了vsftp,使用这个命令会在屏幕上显示vsftpd的版本

3、使用命令rpm -e vsftpd 即可卸载ftp

4、再使用rpm  -qa|grep vsftpd 查看系统是否已删除ftp,若删除成功,屏幕上显示vsftpd的版本

一:安装vsftpd

查看是否已经安装vsftpd
rpm -qa | grep vsftpd

如果没有,就安装,并设置开机启动
yum -y install vsftpd
chkconfig vsftpd on

二、配置防火墙

打开/etc/sysconfig/iptables文件
vi /etc/sysconfig/iptables

在REJECT行之前添加如下代码
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

保存和关闭文件,重启防火墙
service iptables start

三、配置vsftpd服务器

1.默认的配置文件是/etc/vsftpd/vsftpd.conf,你可以用文本编辑器打开。
vi /etc/vsftpd/vsftpd.conf

2.修改配置信息

#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list

改为
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list

3.增加用户ftpuser,指向目录/home/wwwroot/ftpuser,禁止登录SSH权限。
useradd -d /home/wwwroot/ftpuser -g ftp -s /sbin/nologin ftpuser

4.设置用户口令
passwd ftpuser

5、编辑文件chroot_list:
vi /etc/vsftpd/chroot_list

内容为ftp用户名,每个用户占一行,如:

peter
john

6、重新启动vsftpd
service vsftpd restart

另外,如果觉得以后管理ftp用户名嫌麻烦,可以使用centos官方发布的脚本管理。地址如下:(未用过)

http://wiki.centos.org/HowTos/Chroot_Vsftpd_with_non-system_users

出现的错误【这个还没试过,有试过的老铁留言通知下,谢谢!】

1、500 OOPS: cannot change directory
解决方法:

在终端输入命令:

1.setsebool -P ftpd_disable_trans 1

2.service vsftpd restart

就OK了!
原因:这是因为服务器开启了selinux,这限制了FTP的登录。

上传人员权限控制:

file_open_mode上传档案的权限,与chmod 所使用的数值相同。如果希望上传的文件可以执行,设此值为0777。

local_umask=         这是指定本地用户上传后的文件权限设置
umask是unix操作系统的概念,umask决定目录和文件被创建时得到的初始权限
umask = 时,新建的目录 权限是755,文件的权限是
umask = 时,新建的目录 权限是700,文件的权限时
vsftpd的local_umask和anon_umask借鉴了它
默认情况下vsftp上传之后文件的权限是600,目录权限是700
想要修改上传之后文件的权限,有两种情况
如果使用vsftp的是本地用户
则要修改配置文件中的 local_umask 的值
如果使用vsftp的是虚拟用户
则要修改配置文件中的 anon_umask 的值

保持svftp 链接状态:

配置  data_connection_timeout 参数值

注:本人遇到连接后无任何东西,解决方案:

getsebool -a|grep ftp
allow_ftpd_anon_write --> on
allow_ftpd_full_access --> on //创建文件及文件夹
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftp_home_dir --> on //显示文件夹及文件
ftpd_connect_db --> off
ftpd_use_passive_mode --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> on

用如下命令把以上信息设为ON

setsebool allow_ftpd_full_access=  

参考:

http://www.linuxidc.com/Linux/2015-10/123848.htm

http://blog.csdn.net/tomyjohn/article/details/23250779

配置文件说明:

Local_enable=yes               允许使用本地用户来登陆ftp
在/etc/vsftpd.ftpuser中可以增加想要阻止登陆ftp的用户
下面有关linux中ftp的设置项:
限制用户只能在自己的目录中
Chroot_list_enable=yes 文件中的名单可以调用
Chroot_list_file=/etc/vsftpd.chroot_list 前提是chroot_local_user=no,在文件中加入用户名vsftpd.conf的参数
程序代码:Anonymous_enable=yes 允许匿名登陆
Dirmessage_enable=yes 切换目录时,显示目录下.message的内容
Local_umask= FTP上本地的文件权限,默认是077
Connect_form_port_20=yes 启用FTP数据端口的数据连接
Xferlog_enable=yes 激活上传和下传的日志
Xferlog_std_format=yes 使用标准的日志格式
Ftpd_banner=XXXXX 显示欢迎信息
Pam_service_name=vsftpd 验证方式
Listen=yes 独立的VSFTPD服务器
Anon_upload_enable=yes 匿名用户上传权限
Anon_mkdir_write_enable=yes 创建目录的同时可以在此目录中上传文件
Write_enable=yes 本地用户写的权限
Anon_other_write_enable=yes 匿名帐号可以有删除的权限
Anon_world_readable_only=no 匿名用户浏览权限
Ascii_upload_enable=yes 启用上传的ASCII传输方式
Ascii_download_enable=yes 启用下载的ASCII传输方式
Banner_file=/var/vsftpd_banner_file 用户连接后欢迎信息使用的是此文件中的相关信息
Idle_session_timeout=(秒) 用户会话空闲后10分钟
Data_connection_timeout=(秒) 将数据连接空闲2分钟断
Accept_timeout=(秒) 将客户端空闲1分钟后断
Connect_timeout=(秒) 中断1分钟后又重新连接
Local_max_rate=(bite) 本地用户传输率50K
Anon_max_rate=(bite) 匿名用户传输率30K
Pasv_min_port= 将客户端的数据连接端口改在
Pasv_max_port= —6000之间
Max_clients= FTP的最大连接数
Max_per_ip= 每IP的最大连接数
Listen_port= 从5555端口进行数据连接
Local_enble=yes 本地帐户能够登陆
Write_enable=no 本地帐户登陆后无权删除和修改文件
Chroot_local_user=yes 本地所有帐户都只能在自家目录
Chroot_list_enable=yes 文件中的名单可以调用
Chroot_list_file=/etc/vsftpd.chroot_list 前提是chroot_local_user=no
Userlist_enable=yes 在指定的文件中的用户不可以访问
Userlist_deny=yes
Userlist_file=/etc/vsftpd.user_list
Banner_fail=/路径/文件名 连接失败时显示文件中的内容
Ls_recurse_enable=no
Async_abor_enable=yes
one_process_model=yes
Listen_address=10.2.2.2 将虚拟服务绑定到某端口
Guest_enable=yes 虚拟用户可以登陆
Guest_username
user_config_dir                    设置虚拟用户的主配置文件

#添加读取用户配置目录(注:本行配置默认没有需要手动输入)

user_config_dir=/etc/vsftpd/userconf  [用于配置用户主目录]

 

设置用户主目录:https://www.cnblogs.com/alex-blog/articles/2652337.html

快速搭建vsftp 服务器并配置指定目录的更多相关文章

  1. CentOS 6.5下快速搭建ftp服务器[转]

    CentOS 6.5下快速搭建ftp服务器 1.用root 进入系统 2.使用命令 rpm -qa|grep vsftpd 查看系统是否安装了ftp,若安装了vsftp,使用这个命令会在屏幕上显示vs ...

  2. CentOS 6.5下快速搭建ftp服务器

    来源:Linux社区 作者:Linux CentOS 6.5下快速搭建ftp服务器 1.用root 进入系统 2.使用命令 rpm -qa|grep vsftpd 查看系统是否安装了ftp,若安装了v ...

  3. spring boot / cloud (十七) 快速搭建注册中心和配置中心

    spring boot / cloud (十七) 快速搭建注册中心和配置中心 本文将使用spring cloud的eureka和config server来搭建. 然后搭建的模式,有很多种,本文主要聊 ...

  4. koa2+koa-generator+mysql快速搭建nodejs服务器

    koa2+koa-generator+mysql快速搭建nodejs服务器 用koa的脚手架koa-generator可以快速生成项目骨架,可以用于发开或者测试接口 https://github.co ...

  5. [Windows Azure] 使用 Windows Azure 快速搭建 Redis 服务器

    [Windows Azure] 使用 Windows Azure 快速搭建 Redis 服务器   Redis相信玩开源,大数据的朋友们并不陌生,大家最熟悉的使用者就是新浪微博,微博的整体数据缓存都是 ...

  6. 快速搭建windows服务器的可视化运维环境

    开发好的程序部署在服务器上,如何对服务器的基本指标进行监控呢?最近对一套工具进行了研究,可以快速搭建服务器监管环境,很是强大,最重要的是它还很酷炫. 原理:数据采集+时序数据库+可视化,下面记录一下搭 ...

  7. Proftpd快速搭建FTP服务器

    前言 在Linux系统中,FTP服务器软件有很多,都已经成熟,像vsftpd, wu-ftp, Pure-FTPd等.但这些软件安装配置起来都比较麻烦,搭建个人的FTP服务器,还是Proftpd比较简 ...

  8. Ubuntu 14.04快速搭建SVN服务器及日常使用【转】

    转自:http://www.linuxidc.com/Linux/2015-05/117735.htm 1.介绍  Subversion是一个自由,开源的版本控制系统,这个版本库就像一个普通的文件服务 ...

  9. Ubuntu 14.04快速搭建SVN服务器及日常使用

    1.介绍  Subversion是一个自由,开源的版本控制系统,这个版本库就像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况.这样就可以很方面恢复到以前的版本,并可以查看数据更改 ...

随机推荐

  1. 实践作业2:黑盒测试实践——编写自动化脚本并拍摄测试过程视频 Day 6

    下午下课之后小组成员一起交流了一下实验过程遇到的一些问题,并汇总了下各个项目完成情况 该实验目前(写博客是时间)基本完成,具体情况如下 (1)分析系统需求 .(done) (2)设计测试用例.(don ...

  2. nginx的基础应用(续)

    nginx的基础应用(续) 一.简介 上一篇文章我们介绍了nginx的基础应用,其中讲到了nginx作为代理服务器的使用,但是漏了一个重要的,也是使用非常普遍的特性--负载均衡.今天,我们将这段内容补 ...

  3. HDU1532 Drainage Ditches SAP+链式前向星

    Drainage Ditches Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  4. php使用rc4加密算法

    /** * rc4加密算法,解密方法直接再一次加密就是解密 * @param  [type] $data 要加密的数据 * @param  [type] $pwd  加密使用的key * @retur ...

  5. 如何在HTTP头中隐藏PHP版本号

    PHP 配置默认允许服务器在 HTTP 响应头 X-Powered-By 中显示安装在服务器上的 PHP 版本.出于服务器安全原因(虽然不是主要的要担心的威胁),建议你禁用或隐藏此信息,避免那些针对你 ...

  6. 采用Opserver来监控你的ASP.NET项目系列(一、Opserver监控的简介与平台搭建)

    前言 之前有过2篇关于如何监控ASP.NET core项目的文章,有兴趣的也可以看看. 今天我们主要来讲讲如何监控我们的ASP.NET项目. 首先我们来介绍一下,什么是Opserver,它是Stack ...

  7. 非常棒的教程记录(JVM)

    这里暂且记录下看过的非常棒的博客吧! JVM 指令集简单解释,来自一个不认识的网友的个人博客:http://www.iloveandroid.net/2015/12/06/jvm%E6%8C%87%E ...

  8. dubbo源码—dubbo自定义spring xml标签

    dubbo为了和spring更好的集成,提供了一些xml配置标签,也就是自定义标签 spring自定义标签 spring自定义标签的方式如下: 设计配置属性和JavaBean 编写xsd文件,校验xm ...

  9. 迭代加深搜索POJ 3134 Power Calculus

    题意:输入正整数n(1<=n<=1000),问最少需要几次乘除法可以从x得到x的n次方,计算过程中x的指数要求是正的. 题解:这道题,他的结果是由1经过n次加减得到的,所以最先想到的就是暴 ...

  10. 数据库——SQLite---->Java篇

    SQLite SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中.它是D.RichardHipp建立的公有领域项目.它的设计目标是嵌入式的,而且目前已经 ...