Wu-FTP:古老,配置复杂

Proftp:功能强大

vsftp: 安全,高速,稳定【系统默认的FTP软件】

VSFTP服务器配置

启动:/etc/rc.d/init.d/vsftpd start

【默认启动后即支持用户宿主目录访问及匿名访问】

配置文件:/etc/vsftp/vsftp.conf





一、匿名访问

1、 匿名FTP用户名:ftp、anonymous

此时进入伪用户宿主目录/var/ftp





2、编辑/etc/vsftp/vsftp.conf文件内容

anonymous_enable=YES // 允许匿名访问





xferlog_enable=YES// 激活上传和下载记录的日志

xferlog_std_format=YES

xferlog_file=/var/log/xferlog





ftpd_banner=Welcome....// 显示提示信息,默认此时显示vsftp的版本信息



【写在文件最后即可】

anon_max_tate=100000// 限制匿名用户的最大传输速率为100K/s【不精确值】





3、连接FTP服务器,常用命令

ftp FTP地址

ftp>

ls –
查看目录文件

cp -
切换目录(FTP)

bin -二进制传输

lcd -切换下载目录(本地)

get -下载单个文件

mget – 下载多个文件

put -上传文件

mput -上传多个文件

prompt -
关闭交互模式

bye -退出

open FTP地址
- 连接FTP服务器


user -输入FTP服务器的用户名和密码


3、【使用FTP客户端的命令可以实现自动化的上传和下载功能】

1)书写脚本auto.ftp:

open 192.168.16.155

user ftp xiaofang@163.com

bin 

prompt

lcd /ftp.bak

mget *

bye

2)执行脚本

ftp -n < auto.ftp或
ftp -n > /dev/null



二、用户访问

1、 普通用户默认即支持上传和下载

* 若启用SELinux允许用户上传文件到宿主目录,则执行命令

setsebool -P ftp_home_dir 1/on

setsebool -P allow_ftpd_full_access 1/on

* 或编辑/etc/selinux/config关闭SELinux





2、编辑/etc/vsftp/vsftp.conf文件内容

local_enable=YES// 允许用户登录,必须开启

write_enable=YES

local_umask=022





* local_max_rate=200000//限制用户传输速率为200000KB/s





三、用户访问限制[最好启用]

1、限制指定的用户不能访问,而其他用户都可访问

userlist_enable=YES

userlist_deny=YES

userlist_file=/etc/vsftpd.user_list

2、限制指定的用户可以访问,而其他用户不能访问

userlist_enable=YES

userlist_deny=NO

userlist_file=/etc/vsftpd.user_list





【书写/etc/vsftpd.user_list文件时注意:每个用户占用一行】





3、设置chroot

chroot作用:在FTP服务器上,用户将自己的宿主目录当成根目录来访问,这样pwd显示的结果为/

编辑/etc/ftpd/vsftpd.conf可以

1)设置所有用户执行chroot

chroot_local_user=YES

2)设置指定用户不执行chroot,即该用户可以访问自己宿主目录之外的目录

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list





【书写/etc/vsftpd/chroot_list时注意,每个用户占一行】





四、其他设置选项

idle_session_timeout=600 // 用户会话空闲10分钟之后被挂断

max_clients=50 // 服务器总的并发连接数为50

max_per_id=3 // 每个客户机的最大连接数为3

listen_port=10011 // 指定非标准端口为10011【1024以上】,默认端口为21

// 可以屏蔽一般性扫描

访问时使用:ftp 192.168.139.1 10011





【附:】

nmap 端口扫描工具,默认只是扫描知名端口和周知端口

nmap 主机地址

如: nmap 192.168.139.1

指定扫描范围:nmap -p1-65535 192.168.139.1

Linux 学习笔记_12_文件共享服务_2_FTP应用--vsftpd的更多相关文章

  1. Linux 学习笔记_12_文件共享服务_4_SSH

    SSH文件共享服务 一.ssh远程登录[一般的Linux系统都会默认安装并启用] 1.Linux上远程命令行登录:ssh 用户名@远程主机IP地址 常用选项: -2:表示SSH2,强制使用第二代SSH ...

  2. Linux 学习笔记_12_文件共享服务_3_NFS网络文件服务

    NFS网络文件服务 NFS---- Network File System 用于UNIX/Linux[UNIX类操作系统]系统间通过网络进行文件共享,用户可以把网络中NFS服务器提供的共享目录挂载到本 ...

  3. Linux 学习笔记

    Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...

  4. Linux学习笔记(一)2015.4.13

    研究生由单片机转Linux学习 首先安装VMware虚拟机,用的是VMware 10.0 在VMware 10.0上安装视频上推荐的Red Hat Linux 5 安装后正式进入Linux学习 笔记1 ...

  5. linux —— 学习笔记(汇总)

    笔记目录:一.系统知识 和 基本概念                    二.常用操作                   三.系统管理(内存.设备.服务等管理)                   ...

  6. Linux学习笔记-林耐斯Notes-Linux就该这么学

    Linux学习笔记... 参考的优秀Linux网站: http://www.w3cschool.cn/linux/ http://www.linuxeye.com/ http://linux.vbir ...

  7. Linux~学习笔记目录索引

    回到占占推荐博客索引 本篇文章是对自己学习Linux及在它的环境下部署工具的一个总结,以方便自己查阅,也给他人一个帮助,本文章同时会不断的更新,欢迎大家订阅! 本目录包括的内容会包括linux基础命令 ...

  8. Linux 学习笔记之超详细基础linux命令(the end)

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 14---------------- ...

  9. 91 Testing Linux学习笔记

    91 Testing Linux学习笔记... 学习地址:91Testing 的Linux教程=====================学习网址:http://www.91testing.net/ar ...

随机推荐

  1. 检测linux vps是xen openvz还是kvm的方法

    很多时候不知道自己买的vps是那种虚拟化技术,怕给商家忽悠了,下面给大家介绍下怎么简单的判断自己vps的虚拟化技术. 1.通过系统上的相关目录或文件判断 ll /proc/   ps: /proc目录 ...

  2. 存出和载入Docker镜像

    存出镜像 如果要导出镜像到本地文件,可以使用 docker save 命令. $ sudo docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL ...

  3. Android自定义View(LimitScrollerView-仿天猫广告栏上下滚动效果)

    转载请标明出处: http://blog.csdn.net/xmxkf/article/details/53303872 本文出自:[openXu的博客] 1分析 2定义组合控件布局 3继承最外层控件 ...

  4. HDFS:NameNode、DataNode、SecondaryNameNode

    可以一句话描述 HDFS:把客户端的大文件存放在很多节点的数据块中. HDFS设计原则: 1,文件以块(block)方式存储: 2,通过副本机制提高可靠度和读取吞吐量: 3,每个区块至少分到三台Dat ...

  5. Java之String类型详解

    字符串的特点 A:字符串一旦被赋值,就不能改变. 注意:这里指的是字符串的内容不能改变,而不是引用不能改变. B:字面值作为字符串对象和通过构造方法创建对象的不同 String s = new Str ...

  6. Struts 2 之校验器

    对于输入校验,Struts2提供了两种方式,1.使用validate方法:2.基于XML配置实现 . validate()方法 支持校验的Action必须实现Validateable接口,一般直接继承 ...

  7. 指令汇B新闻客户端开发(三) 下拉刷新

    现在我们继续这个新闻客户端的开发,今天分享的是下拉刷新的实现,我们都知道下拉刷新是一个应用很常见也很实用的功能.我这个应用是通过拉ListView来实现刷新的,先看一张刷新的原理图 从图中可知,手指移 ...

  8. 迎战大数据-Oracle篇

    来自:http://www.cnblogs.com/wenllsz/archive/2012/11/16/2774205.html 了解大数据带来的机遇: 透视架构与工具: 开源节流,获得竞争优势. ...

  9. Dynamics CRM2015 非基础语言环境下产品无法新建的问题

    该现象出现在2015版本上,之前从没注意过这个问题不知道以前的版本是否存在. 我的安装包的基础语言是中文,第一张图有添加产品的按钮,切换到英文环境下后就没有了,一开始以为是系统做了隐藏处理,但用工具查 ...

  10. 安卓java.lang.IllegalStateException: The specified child already has a parent.解决方案

    在使用ViewPager的时候遇到一个错误java.lang.IllegalStateException: The specified child already has a parent. You ...