一、vsftpd基本使用

VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP,从此名称可以看出来,编制者的初衷是代码的安全。安全性是编写VSFTP的初衷,除了这与生俱来的安全特性以外,高速与高稳定性也是VSFTP的两个重要特点。
在速度方面:使用ASCII代码的模式下载数据时,VSFTP的速度是Wu-FTP的两倍,如果Linux主机使用2.4.*的内核,在千兆以太网上的下载速度可达86MB/S。
在稳定方面:VSFTP就更加的出色,VSFTP在单机(非集群)上支持4000个以上的并发用户同时连接,根据RedHat的Ftp服务器(ftp.redhat.com)的数据,VSFTP服务器可以支持15000个并发用户

1、查看是否安装vsftp
 rpm -qa | grep vsftpd

如果出现vsftpd-2.2.2-14.el6.x86_64,说明已经安装 vsftp

安装vsftp
 yum -y install vsftpd

2、测试是否安装成功
[root@localhost ~]#service vsftpd start
为 vsftpd 启动 vsftpd:[确定]
3、配置vsftpd
 # whereis vsftpdvsftpd: /usr/sbin/vsftpd /etc/vsftpd /usr/share/man/man8/vsftpd.8.gz

yum安装的主要目录为上述的3个目录,其中配置文件vsftpd.conf在/etc/vsftpd中,下面看下怎么配置vsftpd.conf
# 默认配置文件: /etc/vsftpd.conf
#     下面是配置的选项及说明
######### 核心设置 ###########
# 允许本地用户登录
local_enable=YES
# 本地用户的写权限
write_enable=YES
# 使用FTP的本地文件权限,默认为077
# 一般设置为022
local_umask=022
# 切换目录时
# 是否显示目录下.message的内容
dirmessage_enable=YES
dirlist_enable = NO
#验证方式
#pam_service_name=vsftpd
# 启用FTP数据端口的数据连接
connect_from_port_20=YES
# 以独立的FTP服务运行
listen=yes
# 修改连接端口
#listen_port=2121
######### 匿名登录设置 ###########
# 允许匿名登录
anonymous_enable=NO
# 如果允许匿名登录
# 是否开启匿名上传权限
#anon_upload_enable=YES
# 如果允许匿名登录
# 是否允许匿名建立文件夹并在文件夹内上传文件
#anon_mkdir_write_enable=YES
# 如果允许匿名登录
# 匿名帐号可以有删除的权限
#anon_other_write_enable=yes
# 如果允许匿名登录
# 匿名的下载权限
# 匿名为Other,可设置目录/文件属性控制
#anon_world_readable_only=no
# 如果允许匿名登录
# 限制匿名用户传输速率,单位bite
#anon_max_rate=30000
######### 用户限制设置 ###########
#### 限制登录
# 用userlist来限制用户访问
#userlist_enable=yes
# 名单中的人不允许访问
#userlist_deny=no
# 限制名单文件放置的路径
#userlist_file=/etc/vsftpd/userlist
#### 限制目录
# 限制所有用户都在家目录
#chroot_local_user=yes
# 调用限制在家目录的用户名单
chroot_list_enable=YES
# 限制在家目录的用户名单所在路径
chroot_list_file=/etc/vsftpd/chroot_list
######### 日志设置 ###########
# 日志文件路径设置
xferlog_file=/var/log/vsftpd.log
# 激活上传/下载的日志
xferlog_enable=YES
# 使用标准的日志格式
#xferlog_std_format=YES
######### 安全设置 ###########
# 用户空闲超时,单位秒
#idle_session_timeout=600
# 数据连接空闲超时,单位秒
#data_connection_timeout=120
# 将客户端空闲1分钟后断开
#accept_timeout=60
# 中断1分钟后重新连接
#connect_timeout=60
# 本地用户传输速率,单位bite
#local_max_rate=50000
# FTP的最大连接数
#max_clients=200
# 每IP的最大连接数
#max_per_ip=5
######### 被动模式设置 ###########
# 是否开户被动模式
pasv_enable=yes
# 被动模式最小端口
pasv_min_port=5000
# 被动模式最大端口
pasv_max_port=6000
######### 其他设置 ###########
# 欢迎信息
ftpd_banner=Welcome to My Ftp Server!
#设定支撑Vsftpd服务的宿主用户为手动建立的Vsftpd用户。注意,一旦做出更改宿主用户后,必须注意一起与该服务相关的读写文件的读写赋权问题。比如日志文件就必须给与该用户写入权限等。
nopriv_user=vsftpd
#设定支持异步传输功能。
async_abor_enable=YES
#设定支持ASCII模式的上传和下载功能。
ascii_upload_enable=YES
ascii_download_enable=YES
#设定支援 TCP Wrappers 的防火墙机制
tcp_wrappers=YES

4 、添加用户(注意,该处添加nologin类型用户ftpuser):
 useradd -d /home/ftp -s /sbin/nologin ftpuser

如果已启动vsftpd,重新启动
/etc/init.d/vsftpd restart

5 、到此,整个小巧的ftp服务器搭建成功。可以使用FileZilla FTP或FlashFXP等客户端软件登陆ftp server了。

二、配置vsftpd支持虚拟用户

1、安装vsftpd支持虚拟用户需要的包

yum -y install db4-utils db4 #安装是U.C Berkeley的小型数据库服务器及其工具
yum -y install pam pam-* #安装pam认证模块

2、建立虚拟用户

#vim /home/loginuser.txt
user1
password1
user2
password2
user3
password4 

格式为第一行为用户名名,第二行为密码,然后类推。

建立db数据库,同时只有root用户才能读写
# db_load -T -t hash -f /home/loginuser.txt /etc/vsftpd/vsftpd_login.db    #把文本转成Berkeley数据库格式
# chmod 600 /etc/vsftpd/vsftpd_login.db #设定权限

配置pam文件
# vim /etc/pam.d/vsftpd.vu (64位系统)
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login # vim /etc/pam.d/vsftpd.vu (32位系统)
auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login 

建立虚拟用户对应的系统真实用户
useradd ftpvirtual -s /sbin/nologin

3、修改vsftpd配置文件

# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
#write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
listen_port=5522
userlist_enable=YES
chroot_local_user=YES
tcp_wrappers=YES
pasv_min_port=50000
pasv_max_port=50010
pasv_enable=yes
max_clients=200
max_per_ip=4
idle_session_timeout=600

# 启用虚拟用户增加配置选项说明
guest_enable=YES #设定启用虚拟用户功能
guest_username=ftpvirtual #指定虚拟用户的宿主用户(即是linux上的本地用户)pam_service_name=vsftpd.vu #设定PAM服务下Vsftpd的验证配置文件名。因此,PAM验证将参考/etc/pam.d/下的vsftpd.vu文件配置。user_config_dir=/etc/vsftpd/vsftpd_user_conf #设定虚拟用户个人Vsftp的配置文件存放路径。也就是说,这个被指定的目录里,将存放每个Vsftp虚拟用户个性的配置文件。(一个需要注意的地方就是这些配置文件名必须和虚拟用户名相同)

 
4、创建日志文件
如果修改了vsftp服务的宿主用户,则需要手动创建日志文件并给予权限
# touch /var/log/vsftpd.log
# chown www.www /var/log/vsftpd.log

5、建立虚拟用户对应家目录

#mkdir /home/ftpvirtual/user1
#mkdir /home/ftpvirtual/user2
#mkdir /home/ftpvirtual/user3 

6、建立虚拟用户配置文件

# mkdir /etc/vsftpd/vsftpd_user_conf 创建虚拟用户配置文件存放目录

配置不同权限的虚拟用户设置

所有权限

# vim /etc/vsftpd/vsftpd_user_conf/user1#虚拟用户配置,CentOS下yes或者no必须为小写字母 write_enable=yes
anonymous_enable=no
anon_world_readable_only=no
anon_upload_enable=yes
anon_mkdir_write_enable=yes
anon_other_write_enable=yes
local_umask=022
download_enable=yes
local_root=/home/ftpvirtual/user1

上传权限

# vim /etc/vsftpd/vsftpd_user_conf/user2
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_umask=022
download_enable=NO
local_root=/home/ftpvirtual/user2

下载权限

# vim /etc/vsftpd/vsftpd_user_conf/user3write_enable=NO
anon_world_readable_only=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
local_umask=022
download_enable=yes
local_root=/data/user3 

7、重启服务即可生效

# service vsftpd restart

注:如果你喜欢对配置文件有详细的了解,欢迎查看另一文章http://www.cnblogs.com/cto6608/p/4816267.html

转载于:https://www.cnblogs.com/cto6608/p/4816073.html

vsftpd服务详解相关推荐

  1. Linux vsFTPd服务详解——vsFTPd基础知识

    今天继续给大家介绍Linux运维相关内容,本文主要内容是Linux的vsFTPd服务. 一.vsFTPd服务简介与安装 FTP服务,即File Transfer Protocol.文件传输服务,用于在 ...

  2. vsftpd配置文件详解

      1.默认配置: 1>允许匿名用户和本地用户登陆.      anonymous_enable=YES      local_enable=YES 2>匿名用户使用的登陆名为ftp或an ...

  3. vsftpd配置文件详解 ---配置解说

    vsftpd配置文件详解 1.默认配置: 1>允许匿名用户和本地用户登陆.      anonymous_enable=YES      local_enable=YES 2>匿名用户使用 ...

  4. vsftpd配置文件详解[转载]

    vsftpd配置文件详解 1.默认配置: 1>允许匿名用户和本地用户登陆.      anonymous_enable=YES      local_enable=YES 2>匿名用户使用 ...

  5. Linux服务详解(主要基于RedHat系的及Centos默认服务详解)(综合整理)

    转自:http://blog.csdn.net/jj198981/article/details/7605558 acpid ACPI(全称 Advanced Configuration and Po ...

  6. linux开机启动服务详解

    http://blog.163.com/sjt_linux/blog/static/19931031920126295452884/ linux开机启动服务详解(转) 2012-07-29 17:45 ...

  7. NFS 服务详解及实现方式

    NFS 服务详解 NFS 介绍 1.NFS 服务 2.NFS 文件系统 3.NFS 工作原理 4.NFS 各个版本的对比 NFS 程序环境 1.环境介绍 2.NFS 服务主要进程 3.配置防火墙(NF ...

  8. oracle如何启动和停止服务,CentOS启动和停止服务详解

    CentOS启动和停止服务详解 服务简介 Linux 系统服务是在Linux启 动时自动加载, 服务的添加.删除.自动运行及状态 CAMS 在安装过程中会自动添加相关的服务,例如: service c ...

  9. linux vsftpd用法,Linux_LINUX系统下vsftpd 命令详解,FTP命令是Internet用户使用最频 - phpStudy...

    LINUX系统下vsftpd 命令详解 FTP命令是Internet用户使用最频繁的命令之一,不论是在DOS还是UNIX操 作系统下使用FTP,都会遇到大量的FTP内部命令. 熟悉并灵活应用FTP的内 ...

最新文章

  1. ISLR线性回归笔记
  2. 给妹子讲python-S01E19解析Python内嵌作用域与函数闭包
  3. LINUX下查看CPU、主板、硬盘、内存,网卡信息
  4. base(C# 参考)
  5. pycharm 运行程序时提示错误信息:ModuleNotFoundError: No module named 'pytest' 解决方法
  6. sv编程语言_SV及UVM高级话题篇之一:SystemVerilog开源公共库(上)
  7. HBase——强一致性详解
  8. linux gcc 制作动态库
  9. 用html5做一个简单网页_用新款ws2812灯带做一个简单的窗花
  10. mysql用户信息备份还原_mysql迁移之新建用户、备份还原数据库
  11. BZOJ5251:[九省联考2018]劈配——题解
  12. OpenCV计算机视觉实战(Python版)_006边缘检测
  13. Python-Matplotlib可视化(7)——多方面自定义统计图绘制
  14. 【POJ 3320】【尺取法】Jessica's Reading Problem【暑期 No.2】
  15. DELL服务器R730重装Window Server2012系统
  16. 搞懂Java代理和反射一篇就够了
  17. PCA、PCoA、NMDS、Anosim学习
  18. vagrant设置磁盘大小
  19. 2020/2/24Axure 中继器使用心得
  20. 随机预言模型和标准模型 -2014-03-24 15:35

热门文章

  1. 扩展空间_实用!Win10开启SMB共享的方法,给GPD MicroPc扩展更多存储空间
  2. Python JSONPath示例
  3. iOS Swift JSON解析教程
  4. linux创建分区_在Linux中创建分区-分步指南
  5. 中心管理cms服务器_如何查找网站使用的CMS,脚本,服务器,技术
  6. Android RecyclerView网格布局动画
  7. android逐行写入读取_Android外部存储-读取,写入,保存文件
  8. Java基础篇:什么是递归?如何用递归?
  9. 如何从零构建你的自动化运维体系?——从制度到技术
  10. comet学习(三)cometd心跳机制