vSFTP(FTP服务)

系统版本:CentOS7.X

概念



vSFTP是Linux上实现FTP(File Transfer Protocol)文件传输协议的一款软件。在企业中,一般用于跨公网的文件共享安全传输。它拥有独立的身份验证机制以及文件传输加密机制,可以让文件传输更安全,但是相对来说传输效率则会降低。

vSFTP协议有两个端口:20和21。21用于会话控制,20用于数据传输。

vSFTP使用PAM认证机制进行用户身份验证。PAM(Pluggable Authentication Modules)可插拔认证模块是由Sun互联网技术服务公司提出的一种用户密码认证机制。它通过一些动态链接库和一套统一的API,将系统提供的服务和该服务的认证方式分开。

vSFTP支持三种用户访问方式:匿名访问、用户访问、虚拟用户访问。

  • 匿名:无需要用户名和密码,使用默认匿名用户访问文件服务。
  • 用户:基于系统用户名和密码才可访问文件服务。
  • 虚拟用户:将一个真实用户可以映射成多个虚拟用户,使用虚拟用户身份访问文件服务。

vSFTP的数据传输模式:主动模式和被动模式。

  • 主动模式:服务端20端口主动连接客户端20号端口,相同端口连接传输效率高。
  • 被动模式:服务端20端口被动连接客户端非20号端口,不同端口连接传输可增加安全性。

服务端:搭建FTP服务



一、安装vsftpd软件包

# yum -y install vsftpd

二、修改配置文件

# unalias cp                                                       (临时取消CP命令弹出提示

# cp -f /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak        (备份主配置文件

# cat /etc/vsftpd/vsftpd.conf.bak |grep -Ev "^#|^$|^;" >/etc/vsftpd/vsftpd.conf(过滤#;空格开头的行到vsftpd.conf文件中

# vi /etc/vsftpd/vsftpd.conf                                       (修改主配置文件

listen=YES                          #开启vSFTP服务以独立进程运行

listen_port=21                      #设置监听端口

listen_address=0.0.0.0              #设置监听地址

pasv_enable=YES                     #设置数据传输模式为被动模式

pam_service_name=vsftpd             #设置PAM认证文件位置,对应/etc/pam.d/vsftpd文件。此项为必须。

xferlog_enable=YES     `            #开启Xferlog日志功能

xferlog_file=/var/log/xferlog       #指定Xferlog日志文件位置

xferlog_std_format=YES              #指定日志文件的存档格式为Xferlog日志格式

tcp_wrappers=NO                     #禁用TCP_wrappers主机访问控制功能

userlist_enable=NO                  #禁用用户列表控制功能

anonymous_enable=NO                 #禁用匿名用户访问

write_enable=YES                    #允许用户拥有可写权限

download_enable=YES                 #允许用户拥有下载权限

local_enable=YES                    #开启本地用户访问

local_root=/var/ftp                 #设置本地用户访问的家目录位置

local_umask=077                     #开启本地用户写入文件权限(反掩码),777-077=700

chroot_local_user=YES               #开启将本地用户禁锢在家目录

三、创建一个登录用户

# useradd tom -M -s /sbin/nologin      (创建用户,不允许创建家目录和登录系统

# echo "123" |passwd zhangsan --stdin  (密码

# chown tom.tom /var/ftp               (访问目录所属用户

# chmod 555 /var/ftp                   (设置主目录只允许读和执行的权限,主目录不允许有写的权限

四、开启服务

# systemctl start vsftpd

客户端:安装FTP客户端



一、安装FTP客户端并访问

# yum -y install ftp (安装FTP客户端

# ftp 192.168.116.131 (访问FTP服务

常用配置解读



配置文件路径:/etc/vsftpd/vsftpd.conf

PAM认证配置文件路经:/etc/pam.d/vsftpd

配置格式:

选项=YES/NO

选项=文件路径

选项=数值

配置说明

一、全局配置

listen=YES                          #设置监听进程的方式,YES为独立进程运行,NO则以Xined进程的方式运行,服务则由Xined管理工具控制。Xined是一种服务管理工具,类似于Redhat中的service命令。一般设置为YES。

listen_port=2                       #设置监听端口号。默认为21。

listen_address=0.0.0.0              #设置监听地址。如果不配置,默认监听所有IP。

connect_from_port_20=NO             #设置服务器数据传输是否为主动模式。如果为YES,则服务器主动从客户端的20端口建立数据连接,传输数据。

pasv_enable=YES                     #设置服务器数据传输是否为被动模式。默认开启,当服务端被动传输数据。

pasv_max_port=0                     #设置被动模式下客户端开启的最大端口号。

pasv_min_port=0                     #设置被动模式下客户端开启的最小端口号。

tcp_wrappers=NO                     #设置是否开启TCP_wrappers主机访问控制功能。如果为YES,则由TCP_wrappers网络防火墙控制,允许或拒绝那些主机才能访问FTP服务。

pam_service_name=vsftpd             #设置用于用户认证的PAM文件位置。此项必须存在。对应/etc/pam.d/vsftpd文件。

max_clients=2000                    #设置客户端最大连接数。

max_per_ip=50                       #设置相同IP同时连接的数量。0表示无限制。

ascii_download_enable=NO            #是否启用下载时采用ASCII方式传输文件。加密传输。

ascii_upload_enable=NO              #是否启用上传时采用ASCII方式传输文件。加密传输。

xferlog_enable=NO                   #控制开启xferlog日志功能。

xferlog_file=/var/log/xferlog       #指定日志记录位置。

xferlog_std_format=NO               #是否将日志记录的格式转换成xferlog格式。

write_enable=NO                     #控制所有用户登录是否可写。

download_enable=YES                 #控制所有用户是否允许下载操作。

user_config_dir=/etc/vsftpd/user    #针对每个用户创建不同的配置文件。这里指定存放用户配置文件的目录位置。每个用户的配置文件名与用户名必须相同。

userlist_enable=YES                 #是否开启用户列表控制功能。创建一个用户列表文件,每个用户名为一行。

userlist_file=/etc/vsftpd/user_list #指定用户列表文件位置。

userlist_deny=YES                   #设置是否拒绝这个用户列表文件中的用户访问登录。如果为YES则为拒绝,如果为NO则为允许。

二、匿名用户配置

anonymous_enable=YES                #控制匿名登录是否启用。如果启用则默认使用ftp和anonymous为匿名用户。

ftp_username=ftp                    #设置匿名用户名。默认为ftp。

anon_root=/var/ftp                  #设置匿名用户的主目录位置。默认是/var/ftp目录。

anon_mkdir_write_enable=NO          #如果为YES,则匿名用户允许创建、删除目录的权限,前提是开启write_enable=YES。

anon_other_write_enable=NO          #如果为YES,则匿名用户允许执行写入操作,除了上传和创建目录,如删除和重命名。

anon_upload_enable=NO               #如果为YES,则允许匿名用户上传文件,前提是开启write_enable=YES。

anon_world_readable_only=YES        #如果为YES,则匿名用户只拥有只读权限,只可以下载文件,不可修改和写入。

anon_max_rate0                      #设置匿名传输最大速率(以字节为单位)。0表示无限制。

anon_umask=077                      #设置匿名用户创建文件时的文件权限。为反掩码,转换成正掩码:777-077=700。

no_anon_password=NO                 #如果为YES,则匿名登录时不用要求输入密码直接登录。

三、本地用户配置

local_enable=NO                     #本地用户启用开关,如果启用的话则访问文件服务需要输入用户名和密码,默认读取系统中/etc/passwd文件中的用户账户。说白了就是使用系统用户登录。

local_root=/var/ftp                 #设置本地用户的主目录位置。

local_umask=077                     #设置本地用户创建文件时的文件权限。为反掩码,转换成正掩码:777-077=700。

chroot_local_user=NO                #设置是否将用户限制在自己的用户主目录中,不允许切换到上级目录。

chroot_list_enable=NO               #如果为YES,则你需要提供一个本地用户列表的文件。在该列表中的用户都不允许切换到上级目录,将其限制在家目录(共享目录)中。你需要指定一个本地用户列表的文件。

chroot_list_file=/etc/vsftpd/chroot_list  #设置一个本地用户列表文件。

local_max_rate=0                          #设置本地用户传输最大速率(以字节为单位)。

userlist_enable=NO                        #设置使用一个本地用户列表控制用户访问登录,只允许此列表中的用户访问文件服务。

userlist_deny=NO                          #设置使用一个本地用户列表控制用户访问登录,在此列表中的用户禁止访问文件服务。

userlist_file=/etc/vsftpd/user_list       #本地用户列表文件位置。

四、虚拟用户配置

guest_enable=NO                    #如果开启此项则所有非匿名登录用户都将被视为“访客”登录。开启虚拟用户映射功能。

guest_username=ftp                 #设置虚拟用户对应的真实系统用户名。

时间: 2024-07-30 21:42:12

vSFTP(FTP服务)的相关文章

ftp服务器之vsftp

一.简介 文件传输协议(FTP,File Transfer Protocol),即能够让用户在互联网中上传.下载文件的文件协议,而FTP服务器就是支持FTP传输协议的主机,要想完成文件传输则需要FTP服务端和FTP客户端的配合才行. 通常用户使用FTP客户端软件向FTP服务器发起连接并发送FTP指令,服务器收到用户指令后将执行结果返回客户端. FTP协议占用两个端口号: 21端口:命令连接,用于接收客户端执行的FTP命令. 20端口:数据连接,用于上传.下载文件数据. FTP数据传输的类型: 主

ubuntu16 ftp 服务 vsftp 配置

转载:沐心_ 地址:http://bbs.csdn.net/topics/392186116----------------------------------------------------------目标:安装 vsftpd 服务 为了安装方便 全程使用root模式一.步骤----------------------------------------------1.切换root用户模式 (已在root模式下的请忽略)      sudo -i      #然后提示你输入当前用户密码,输

centos6.5离线安装ftp服务

1.查看是否安装vsftp rpm -qa | grep vsftpd 如果出现vsftpd-2.0.5-21.el5,说明已经安装 vsftp 2.下载vsftpd: ftp://rpmfind.net/linux/centos/6.7/os/x86_64/Packages/vsftpd-2.2.2-14.el6.x86_64.rpm 来源:http://rpmfind.net/linux/rpm2html/search.php?query=vsftpd(x86-64) 3.安装vsftpd

【CNMP系列】CentOS7.0下安装FTP服务

一个小插曲,安装一个FTP服务,便于和远程服务器的文件沟通.后续我们会讲到如何使用Capistrano配合git完成服务器的代码部署以及发布流程.现在,代码先走FTP吧,挺稳. FTP简介 FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议". 在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)."下载"文件就是从远程主机拷贝文

ftp服务搭建配置管理

ftp[file transfer protocol这是档案传输的通讯协议,也是一般最常用来传送档案的方式这是档案传输的通讯协议,也是一般最常用来传送档案的方式]是/tcp/ip的一种具体的应用,工作在OSI上的第七层,TCP/IP模型的第四层,是一种面向连接的协议,工作模式分为主动模式和被动模式 vsftpd是UNIX类操作系统上运行的服务器名称,它的名字代表"very secure FTP daemon",安全性是其设计与开发的一个重要目标,支持很多其他的FTP 服务器不支持的特征

Linux SSH,FTP服务配置

CentOS-6.4-x86_64-minimal 0.网卡配置 参考:Linux系统\Centos没有网卡eth0配置文件怎么办? - http://jingyan.baidu.com/article/84b4f565cb7afa60f6da32d4.html 临时配置:ifconfig 设备名 IP地址 # ifconfig eth0 192.168.1.11 (设置后立即生效,不要重启网卡服务,否则又失效) 永久解决办法: 1)复制/etc/sysconfig/network-script

centos下开启ftp服务

如果要ftp访问linux需要安装ftp服务,vsftpd是Linux下比较好的的FTP服务器. 一.检查安装vsftp 1 //检查是否安装vsftpd 2 rpm -qa | grep vsftpd 3 //没有就安装vsftpd 4 yum -y install vsftpd 5 chkconfig vsftpd on 二.编辑vsftp配置项 配置开启虚拟账户(只能登陆ftp,不能登陆系统)以及设置访问目录 1 vim /etc/vsftpd/vsftpd.conf 2 anonymou

局域网内Linux下开启ftp服务的“曲折路”和命令复习

今天主要学习了Linux下网络配置以及vsftp(FTP)和samba的服务配置,学习起来,难度也就一般,并没有特别难,可是在可以做实验的时候,却并没有自己想像的那么顺利,可见,很多事情看起来不难,做起来却又是另外一回事.特作此篇以作纪念. 一:vsftpd 的配置. 1,首先,最好已经进行yum源的配置(如果没有配置,可以搜索我的日记,做好配置),方便于我们安装vsftpd. 只需一句命令即可: [[email protected] ~]# yum -y install vsftpd 喝杯茶,

5. 网络配置与FTP服务笔记

IP地址: Ipv4        2*32       Ipv6 tcp      网络通讯协议 udp    用户数据报协议 常见网络端口: 20  21      ftp服务 文件共享 22   ssh服务 安全远程网络管理 23 telnet服务 25 smtp:简单邮件传输协议 发信 110 pop3:邮局协议 收信 80 www 网页服务 3306  mysql端口 53 DNS端口 /etc/services 所有系统常见端口 端口数量  tcp  65535 udp   6553