vsftpd 安装(Linux)
一、安装系统环境
  centos 6.9 64位
二、vsftpd版本
  vsftpd-2.2.2-24.el6.x86_64
三、安装步骤
1.安装
  执行 yum -y install vsftpd
eg:

  (1)是否使用sudo权限执行请根据您具体环境来决定
  (2)rpm -qa |grep vsftpd 可通过这个检查是否已经安装vsftpd
  (3)默认配置文件在/etc/vsftpd/vsftpd.conf
2.创建虚拟用户
  (1)选择在根或者用户目录下创建ftp文件夹:mkdir ftpfile
  (2)添加匿名用户:useradd ftpuser -d /ftpfile -s /sbin/nologin
  (3)修改ftpfile权限:chown -R ftpuser.ftpuser /ftpfile
  (4)重设ftpuser密码:passwd ftpuser
3. 配置
  (1)cd /etc/vsftpd
  (2)sudo vi chroot_list
  (3)把刚才新增的虚拟用户添加到此配置文件中,后续要引用
  (4):wq退出
  (5)sudo vi /etc/selinux/config,修改为SELINUX=disabled
  (6):wq保存退出
eg:如果一会验证的时候喷到550拒绝访问请执行:
  sudo setsebool -P ftp_home_dir l
  然后重启Linux服务器,执行reboot命令
  (7)执行:#sudo vi /etc/vsftpd/vsftpd.conf
4.防火墙配置
  (1) vi /etc/sysconfig/iptables
  (2)#vsftpd
    -A INPUT -p TCP --dport 61001:62000 -j ACCEPT
    -A OUTPUT -P TCP --sport 61001:62000 -j ACCEPT
    -A INPUT -p TCP --dport 20 -j ACCEPT
    -A OUTPUT -p TCP --sport 20 -j ACCEPT
    -A INPUT -p TCP --dport 21 -j ACCEPT
    -A OUTPUT -p TCP --sport 21 -j ACCEPT
  (3):wq保存退出
  (4)sudo service iptables restart(重启防火墙)
四、vsftpd验证
1.执行 sudo service vsftpd restart
  注: 第一次启动时Shutting down vsftpd是failed不用理会,
  因为这是重启命令,保证Starting vsftpd 是OK即代表vsftpd服务成功启动
2.执行ifconfig查看运行vsftpd服务器的ip地址
3.在浏览器输入:http://vsftpd服务器的ip地址
4.输入之前创建的ftp匿名用户账号和密码
5.看到如图所示就代表成功
6.通过ftp客户端软件(filezilla、cuteftp、viperftp)进行连接ftp服务器,进行文件上传、下载验证
五、常用命令
1.启动:sudo service vsftpd start
2.关闭;sudo service vsftpd stop
3.重启:sudo srvice vsftpd restart
ftpserver安装(window)
一、安装系统环境
windows10 64位
  基本用到的配置项:
    1)local_root=/ftpfile(当本地用户登入时,将被更换到定义的目录下,默认值为各用户的家目录)
    2)anon_root=/ftpfile(使用匿名登入时,所登入的目录)
    3)use_localtime=YES(默认是GMT时间,改成使用本机系统时间)
    4)anonymous_enable=NO(不允许匿名用户登录)
    5)local_enable=YES(允许本地用户登录)
    6)write_enable=YES(本地用户可以在自己家目录中进行读写操作)
    7)local_umask=022(本地用户新增档案时的umask值)
    8)dirmessage_enable=YES(如果启动这个选项,那么使用者第一次进入一个目录时,会检查该目录下是否有.message这个档案,如果有,则会出现此档案的内容,通常这个档案会放置欢迎话语,或是对该目录的说明。默认值为开启)
  9)xferlog_enable=YES(是否启用上传/下载日志记录。如果启用,则上传与下载的信息将被完整纪录在xferlog_file 所定义的档案中。预设为开启。)
  10)connect_from_port_20=YES(指定FTP使用20端口进行数据传输,默认值为YES)
  11)xferlog_std_format=YES(如果启用,则日志文件将会写成xferlog的标准格式)
  12)ftpd_banner=Welcome to mmall FTP Server(这里用来定义欢迎话语的字符串)
  13)chroot_local_user=NO(用于指定用户列表文件中的用户是否允许切换到上级目录)
  14)chroot_list_enable=YES(设置是否启用chroot_list_file配置项指定的用户列表文件)
  15)chroot_list_file=/etc/vsftpd/chroot_list(用于指定用户列表文件)
  16)listen=YES(设置vsftpd服务器是否以standalone模式运行,以standalone模式运行是一种较好的方式,此时listen必须设置为YES,此为默认值。建议不要更改,有很多与服务器运行相关的配置命令,需要在此模式下才有效,若设置为NO,则vsftpd不是以独立的服务运行,要受到xinetd服务的管控,功能上会受到限制)
  17)pam_service_name=vsftpd(虚拟用户使用PAM认证方式,这里是设置PAM使用的名称,默认即可,与/etc/pam.d/vsftpd对应) userlist_enable=YES(是否启用vsftpd.user_list文件,黑名单,白名单都可以
  18)pasv_min_port=61001(被动模式使用端口范围最小值)
  19)pasv_max_port=62000(被动模式使用端口范围最大值)
  20)pasv_enable=YES(pasv_enable=YES/NO(YES)
若设置为YES,则使用PASV工作模式;若设置为NO,则使用PORT模式。默认值为YES,即使用PASV工作模式。
FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。
一、PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。
当需要传送数据时,客户端在命令链路上用 PORT命令告诉服务器:“我打开了****端口,你过来连接我”。于是服务器从20端口向客户端的****端口发送连接请求,建立一条数据链路来传送数据。
二、PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。
当需要传送数据时,服务器在命令链路上用 PASV命令告诉客户端:“我打开了****端口,你过来连接我”。于是客户端向服务器的****端口发送连接请求,建立一条数据链路来传送数据。
从上面可以看出,两种方式的命令链路连接方法是一样的,而数据链路的建立方法就完全不同。而FTP的复杂性就在于此。
)

vsftpd安装和使用 Linux系统和window系统的更多相关文章

  1. git安装和使用 linux系统和window系统

    一.git简介 git是一款免费.开放源代码的分布式版本控制系统特点: git是一个开源的分布式版本控制系统,可以有效, 高速的处理从很小到非常大的项目版本管理 二.git安装 Linux:下载.安装 ...

  2. linux系统和Windows系统共存

    最近接触了linux系统,因为对linux系统一直存在一种敬畏之心,所以决定研究研究 那么今天我在这里呢是要和大家分享一下在Windows存在的情况下安装双系统linux 那么第一步呢,就是斤BIOS ...

  3. 对比Linux系统和Windows系统哪个更好

    最近半年来,我一直在读一本叫做<Linux就该这么学>的Linux教材,确实让我进步的很快,也慢慢的让Linux系统走入了我的知识认知中,那么学习前我们来对比下Windows和Linux的 ...

  4. 关于Linux系统和Windows系统中文件夹的命名规范

    Windows系统中. 1.在创建文件夹的时候不能以"."开头(但是文件以多个点开头并且还有其他合法字符的话就是合法的) 但是在windows系统中确实见过以一个点".& ...

  5. android系统和ios系统是如何实现推送的,ios为什么没有后台推送

    ios系统为什么没有后台推送? iOS 为了真正地为用户体验负责,不允许应用在后台活动.有了这个限制,但是对于终端设备,应用又是有必要“通知”到达用户的,随时与用户主动沟通起来的(典型的如聊天应用). ...

  6. 扫盲--CRM系统和ERP系统的区别

    企业规模在逐步扩大的时候,为了提高生产和管理的效率,经常需要用到相关管理软件.很多企业管理者在选择管理软件的时候犯了难,面对CRM系统和ERP系统不知如何选择无法下手.那么,CRM和ERP的区别是什么 ...

  7. .Net Core Linux centos7行—hyper-v安装linux系统和.net core sdk

    下载linux系统,选择安装centos7 下载地址:https://www.centos.org/download/ 安装centos7 hyper-v选择新建虚拟机 根据向导一路next,虚拟机代 ...

  8. 安装Tomcat(windows系统和linux系统)

    Tomcat不管是windows还是Linux版本,都是解压后就再配置一下就可以使用.安装Tomcat前必须先安装JDK,一般我们可以在eclipse中加入Tomcat来开发. 什么是Tomcat? ...

  9. 树莓派3B+安装64位ubuntu系统和docker工具

    想在树莓派3B上安装一些64位应用(例如64位JDK),因此首先要安装64位的操作系统,今天咱们就一起来实战: 原文地址:https://blog.csdn.net/boling_cavalry/ar ...

随机推荐

  1. Codeforces Round #343 (Div. 2)-629A. Far Relative’s Birthday Cake 629B. Far Relative’s Problem

    A. Far Relative's Birthday Cake time limit per test 1 second memory limit per test 256 megabytes inp ...

  2. c# for 和 foreach 的区别

    foreach 能够进行foreach的类型结构,都必须实现IEnumerable接口. IEnumerable接口,有一个GetEnumerator的方法,返回一个实现IEnumerator接口的对 ...

  3. 安装Ruby、Sass与Compass

    sass基于Ruby语言开发而成,因此安装sass前需要安装Ruby.(注:mac下自带Ruby无需在安装Ruby!) window下安装SASS首先需要安装Ruby,先从官网下载Ruby并安装.安装 ...

  4. 算法-java代码实现快速排序

    快速排序 对于一个int数组,请编写一个快速排序算法,对数组元素排序. 给定一个int数组A及数组的大小n,请返回排序后的数组. 测试样例: [1,2,3,5,2,3],6 [1,2,2,3,3,5] ...

  5. linux下 ls -l 命令显示结果每一列代表什么意思

    第一个栏位,表示文件的属性.Linux的文件基本上分为三个属性:可读(r),可写(w),可执行(x).但是这里有十个格子可以添(具体程序实现时,实际上是十个bit位).第一个小格是特殊表示格,表示目录 ...

  6. 把织梦安装到子目录,不读取CSS 没有样式?

    我在A5上找的一个模板,照着说明安装到根目录就正常,我想安装到子目录下面,结果很乱 应该是不读取CSS. {dede:global.cfg_templets_skin/}/style/about.cs ...

  7. nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address 

    http://blog.csdn.net/ownfire/article/details/7966645 今天在做LNMP的时候,启动nginx服务,无法开启,导致网页打不开.把服务从起一下发现提示错 ...

  8. C语言第二次实验报告

    1.实验题目 题1:11-7 找鞍点(20 分) 一个矩阵元素的"鞍点"是指该位置上的元素值在该行上最大.在该列上最小. 本题要求编写程序,求一个给定的n阶方阵的鞍点    题2: ...

  9. util包就是用来放一些公用方法和数据结构的

    util包就是用来放一些公用方法和数据结构的

  10. 基础数据类型的补充和深浅copy

    一:关于str 的操作方法补充 1,s.isspace()   判断字符串是否只由空格组成,是,为True,否则,为False. s = ' ' #只能是以至少一个空格组成的字符串(全空格) prin ...