环境:CentOS6.3

ftp的三种用户模式

匿名用户:vsftp默认开启匿名用户,但只允许下载不允许上传;匿名用户anonymous或ftp;匿名用户目录/var/ftp,但实际上vsftp对匿名用户做了chroot

本地用户:vsftp默认开启本地用户登录;本地用户登录目录是其主目录,可以随意切换目录(可通过local_root=指定登录目录);一般通过系统权限控制用户访问

虚拟用户:需要手工配置,通过本地文件或数据库将ftp虚拟用户映射为一个系统用户,通过对此系统用户的控制实现更高的安全性

安装

yum install vsftpd

vsftp的主配置文件:/etc/vsftpd/vsftpd.conf

启动vsftp

service vsftpd start

开启防火墙

vi /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

service iptables restart

修改SELinux          //解决本地用户登录出现500错误问题(无法进入用户主目录)

setsebool –P ftp_home_dir 1

setsebool –P allow_ftpd_full_access 1

或关闭SELinux

vi /etc/sysconfig/selinux

SELINUX=enforcing改为disable

启用自启动

chkconfig --level 35 vsftpd on

常用配置

anonymous_enable=YES    //默认开启了匿名用户,请注意如果想要关闭匿名用户,不是简单的注释掉此选项(因为默认匿名用户开启),而是指定选项值为NO(anonymous_enable=NO)

ftpd_banner=                        //登录banner,默认未开

xferlog_enable=YES          //开启日志,默认开启

xferlog_file=/var/log/xferlog    //日志路径,默认未开

xferlog_std_format=YES    //日志格式,默认开启

anon_max_rate=100000  //匿名用户最大传输速率,默认不存在

local_max_rate=1000000  //本地用户最大传输速率,默认不存在

max_clients=xx    //服务器最大并发连接数

max_per_ip=x    //每IP最大连接数

pasv_enable=NO      //关闭被动模式,用以解决ftp工具和windows连接无法list问题(我并不想在防火墙上开放过多的端口提供客户端的被动连接,如果必须采用被动模式,请参考小僧的博客文章。需要注意的是采用被动模式时,windows连接时需要把internet option---advaneced--use passive mode取消勾选,否则windows默认采用被动模式连接;一般客户端工具连接时能够自动判断,不需要过多配置)

cmds_allowed=ABOR,CWD,LIST,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,RNFR,RNTO,SITE,SIZE,STOR,TYPE,USER,CDUP,APPE,MDTM    //此选项用以指定可以使用的FTP交互命令,我去掉了DELE(删除)用以限制用户删除远程文件,具体命令参数请参http://www.nsftools.com/tips/RawFTP.htm

用户访问控制

1.指定用户禁止访问,其他用户允许访问

userlist_enable=YES

userlist_file=/etc/vsftpd/vsftpd.userlist

userlist_deny=YES

2.指定用户允许访问,其他用户禁止访问

userlist_file=/etc/vsftpd/vsftpd.userlist

userlist_deny=NO

本地用户chroot

1.指定用户不受限制,其他用户受限

chroot_local_user=YES      //启用本地用户chroot,启用后本地用户登录就被限制在其登录目录中(默认为其主目录) chroot_list_enable=YES      //启用例外列表 chroot_list_file=/etc/vsftpd/chroot_list    //例外列表路径

2.指定用户受限,其他用户不受限

chroot_local_user=NO      chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list

ftp常用命令

open  x.x.x.x    //打开到ftp服务器的连接

user xxx  //登录用户

cd    //改变远程登陆目录(服务器端)

lcd  //改变本地目录(客户端)

bin  //以二进制模式传输(通常用于程序等)

ascii  //asc码模式传输(默认方式,常用于传输文本类文件)

hash    //显示传输进度

bell    //传输完毕后响铃

prompt  //交互模式开关(多用于mget,mput关闭交互)

status  //显示当前状态(传输模式,是否显示传输进度,是否响铃,是否交互等)

get  //下载

mget  //批量下载

put    //上传

mput  //批量上传

本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2013-05/84947.htm

CentOS 6.3 下 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. CentOS 6.0下phpvod搭建教程(LAMP+phpvod)

    之所以安装CentOS是因为之前试过RedHat,但是发现RedHat在安装时,无法获取安装源,原因是RedHat系统没有在RHN注册. 网上的很多教程都说可以直接换用CentOS的源,可我小搞里一会 ...

  4. CentOS 5.8下快速搭建FTP服务器

    学习安装和配置vsftpd: 实验环境:CentOS 5.8 x86_64 测试环境关掉防火墙和selinux. service iptables stop setenforce 0 1.安装vsft ...

  5. CentOS 7 系统下 GitLab 搭建

    参考地址:https://blog.csdn.net/t748588330/article/details/79915003 1. 安装:使用 GitLab 提供仓库在线安装 curl -sS htt ...

  6. CentOS 6.2下搭建Web服务器

    1Centos 6.2下搭建web服务器 如今,Linux在Web应用越来越广,许多企业都采用Linux来搭建Web服务器,这样即节省了购买正版软件的费用,而且还能够提高服务器的安全性. 之前我们介绍 ...

  7. Linux CentOS 6.5 下 vsftpd ftp服务器搭建

    Linux CentOS 6.5 下 vsftpd ftp服务器搭建 by:授客 QQ:1033553122   操作系统环境:CentOS 6.5-x86_64 下载地址:http://www.ce ...

  8. CentOS 6.3下搭建Web服务器

    准备前的工作: 1.修改selinux配置文件(/etc/sysconfig/selinux) 关闭防火墙 (1)把SELINUX=enforcing注释掉 (2)并添加SELINUX=disable ...

  9. CentOS 6.5 下搭建FastDFS服务

    参考网站: http://www.open-open.com/lib/view/open1435468300700.html http://blog.csdn.net/lynnlovemin/arti ...

随机推荐

  1. =>符号的意义

    => 是 Oracle 中调用存储过程的时候, 指定参数名进行调用.一般是, 某些参数有默认值的时候,你需要跳过某些参数来进行调用. 下面是具体的例子. 参数的默认值SQL> CREATE ...

  2. C++使用GDI+实现图片格式转换

    主要是我在设置壁纸时遇到的个小问题,因为设置壁纸只能是bmp格式的图片,不可能我喜欢的壁纸就都是bmp格式的,就想怎么转换一下图片的格式,于是就在百度搜怎么弄,搜到了可行方法,却没有实现代码,有些看起 ...

  3. vim 个性化设置和操作

    一.vim 设置 1. 设置行号显示 1) 临时显示 命令行模式 :set nu 2) 永久显示 # vim ~/.vimrc 插入一行代码: set number 若没有该文件,在用户主目录 (/h ...

  4. java高并发之CountDownLatch,CyclicBarrier和join

    晚上打车回家,在车上看到一篇文章<22岁大学生获谷歌天价Offer,年薪千万!>,讲的是印度一个22岁大学生多次参加ACM大赛,开源多个项目,以非常牛逼的履历通过了谷歌的AI测试,斩获谷歌 ...

  5. Jenkins搭建CI/CD

    所需Jenkins插件: Maven Integration pluginPublish Over SSHSSH plugin 1.配置全局工具 配置JDK: 配置Git: 配置maven: 2.创建 ...

  6. JAVA / MySql 编程——第二章 初始MySQL

    1. MySQL:        ●  MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司.            MySQL最流行的关系型数据库管理系统, ...

  7. ios 苹果内购订单验证 --- nodejs实现

    实现代码 function IosPlayVerify(data,orderid,cb) { itunesPost(data,function (error,responseData) { if (e ...

  8. mybatis中@Param用法

    用注解来简化xml配置的时候,@Param注解的作用是给参数命名,参数命名后就能根据名字得到参数值,正确的将参数传入sql语句中 我们先来看Mapper接口中的@Select方法 package Ma ...

  9. centos安装xfce及输入法

    一.执行CentOS7 最小安装 去官网 https://www.centos.org/ 下载CentOS-7-x86_64-Minimal-1804.iso,然后使用rufus刻录U盘,安装之.安装 ...

  10. python sys模块和序列化模块

    sys模块是与python解释器交互的一个接口: sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0),错误退出sys.exit( ...