Linux基础服务实战篇,Vsftpd服务器

一、Vsftpd 服务器简介

        目前主流的FTP服务器端软件包括: Vsftpd、ProF TPD PureFTPd、Wuftpd、Server-U FTP、FileZilla Server等软件,其中Unix/Linux 使用较为广泛的FTP服务器端软件为Vsftpd。

        非常安全的FTP服务进程(Very Secure FTP daemon,Vsftpd),Vsftpd在Unix/Linux发行版中最主流的FTP服务器程序,优点小巧轻快,安全易用、稳定高效、满足企业跨部门、多用户的使用(1000 用户)等。

        Vsftpd基于GPL开源协议发布,在中小企业中得到广泛的应用,Vsftpd可以快速上手,基于Vsftpd虚拟用户方式,访问验证更加安全。Vsftpd 还可以基于MYSQL数据库做安全验证,多重安全防护。

二、Vsftpd 服务器安装配置

       Vstftpd服务器端安装有两种方法,一是基于 YUM方式安装,二是基于源码编译安装,最终实现效果完全致,本文采用YUM安装Vsftpd,步骤如下:

 (1)在命令行执行如下命令:

yum install vsftpd* -y


1

(2)  打印vsftpd安装后的配置文件路径、启动Vsftpd服务及查看进程是否启动,如下图所示:

rpm -ql vsftpdlmore

systemctl restart vsftpd.service

ps -ef lgrep vsftpd


2

(3)Vsftpd.conf默认配置文件详解如下:

anonymous enable=YES    #开启匿名用户访问;

local_enable=YES         #启用本地系统用户访问;

write_enable=YES         #本地系统用户写入权限;

local_umask=022           #本地用户创建文件及目录默认权限掩码;

dirmessage_enable=YES     #打印目录显示信息,通常用于用户第一次访问目录时,信息提示;

xferlog_enable=YES       #启用上传/下载日志记录;

connect_from_port_20=YES    #FTP使用20端口进行数据传输:

xferlog_std_format=YES       #日志文件将根据xferlog的标准格式写入:

listen=NO                         #Vsftpd不以独立的服务启动,通过Xinetd服务管理,建议改成YES;

listen_ipv6=YES                   #启用IPV6监听;

pam_service_name=vsftpd      #登录FTP服务器,依据/etc/pam.d/vsftpd中内容进行认证;

userlist_enable=YES          #vsftpd.user_list 和ftpusers 配置文件里用户禁止访问FTP;

tcp_wrappers=YES           #设置vsftpd与tcp_wrapper结合进行主机的访问控制,Vsftpd服务器检查/etc/hostsallow和/etc/hosts,deny中的设置,来决定请求连接的主机,是否允许访问该FTP服务器。

(4)  启动Vsftpd服务后,通过Windows客户端资源管理器访问Vsftp服务器端,如下所示:

ftp://192.168.111.131/

3

FTP主被动模式,默认为主动模式,设置为被动模式使用端口方法如下:

pasv_enable=YES

pasv_min_port=60000

pasv_max_port=60100

三、Vsftpd 匿名用户配置

        Vsftpd默认以匿名用户访问,匿名用户默认访问的FTP服务器端路径为:/var/ftp/pub,匿名用户只有查看权限,无法创建、删除、修改。如需关闭FTP匿名用户访问,需修改配置文件/etc/vsftpd/vsftpd.conf,将anonymous_enable=YES修改为anonymous_enable=NO,重启Vsftpd服务即可。

        如果允许匿名用户能够上传、下载删除文件,需在/etc/vsftpd/vsftpd.conf 配置文件中加入如下代码:

anon_upload_enable=YES  #允许匿名用户上传文件

anon_mkdir_write_enable=YES  #允许匿名用户创建目录

anon_other_write_enable=YES  #允许匿名用户其他写入权限

         匿名用户完整vsftpd.conf配置文件代码如下:

anonymous_enable=YES

local_enable=YES

write_enable=YES

local_umask=022

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=NO

listen_ipv6=YES

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

        由于默认Vsftpd匿名用户有两种:anonymous、ftp,所以匿名用户如果需要上传文件、删除及修改等权限,需要ftp用户对/var/ftp/pub目录有写入权限,使用如下chown和chmod任意一 种即可,设置命令如下:

chown -R ftp  pub/

chmod  O+W  pub/

       如上Vsftpd.conf配置文件配置完毕,同时权限设置完,重启vsftpd服务即可,通过windows客户端访问,能够上传文件、删除文件、创建目录等操作,如下所示:

4

四、Vsftpd 系统用户配置

         Vsftpd匿名用户设置完毕,匿名用户,任何人都可以查看FTP服务器端的文件、目录,甚至可以修改、删除,此方案如适合存放私密文件在FTP服务器端,如何保证文件或者目录专属拥有者呢,Vsftpd系统用户可以实现该需求。

        实现Vsftpd系统用户方式验证,只需在Linux系统中创建多个用户即可,创建用户使用useradd,同时给用户设置密码,即可通过用户和密码登录FTP,进行文件上传、下载、删除等操作。Vsftpd 系统用户实现方法步骤如下:

 (1)  Linux系统中创建系统用户kin1、kin2, 分别设置密码为123456:

useradd  kin1

useradd  kin2

echo 123456[passwd -stdin kin1

echo 123456[passwd -stdin kin2

(2)  修改vsftpd.conf配置文件代码如下:

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=NO

listen_ipv6=YES

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

(3)通过Windows资源客户端验证,使用kin1、kin2用户登录FTP服务器,即可上传文件、删除文件、下载文件,kin1、kin2系统用户上传文件的家目录在/home/kin1、/home/kin2 下,如图所示:

5
6

五、Vsftpd 虚拟用户配置

         如果基于Vsftpd系统用户访问FTP服务器,系统用户越多越不利于管理,而且不利于系统安全管理,鉴于此,为了能更加的安全使用VSFTPD,需使用Vsftpd虚拟用户方式。

        Vsftpd虚拟用户原理:虚拟用户就是没有实际的真实系统用户,而是通过映射到其中一个真实用户以及设置相应的权限来实现访问验证,虚拟用户不能登录linux系统,从而让系统更加的安全可靠。

        Vsftpd虚拟用户企业案例配置步骤如下:

(1)安装Vsftpd虚拟用户需用到的软件及认证模块:

yum install pam* libdb-utils libdb* -- skip-broken -y

(2)创建虚拟用户临时文件/etc/vsftpd/ftpusers.txt, 新建虚拟用户和密码,其中kin001、kin002为虚拟用户名,123456 为密码,如果有多个用户,依次格式填写即可:

kin001

123456

kin002

123456

(3)生成Vsftpd虚拟用户数据库认证文件,设置权限700:

db load  -T  -t  hash  -f  /etc/vsttpd/ftpusers.txt

/etc/vsftpd/vsftpd_login.db

chmod 700 /etc/vsftpd/vsftpd_login.db

(4)  配置PAM认证文件,/etc/pam.d/vsftpd 行首加入如下两行:

auth  required  pam_userdb.so db =/etc/vsftpd/vsftpd_login

account  required  pam_userdb.so db=/etc/vsftpd/vsftpd_login

(5)所有Vsftpd虚拟用户需要映射到个系统用户,该系统用户不需要密码,也不需要登录,主要用于虚拟用户映射使用,创建命令如下:

useradd  -s s /sbin/nologin  ftpuser

(6)完整vsftpd.conf配置文件代码如下:

#global config Vsftpd 2019

anonymous_enable=YES

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port 20=YES

xferlog_std_format=YES

listen=NO

listen_ipv6=YES

userlist_enable=YES

tcp_wrappers=YES

#config virtual user FTP

pam_service_name=vsftpd

guest_enable=YES

guest_username=ftpuser

user_config_dir=/etc/vsftpd/vsftpd_user_conf

virtual_use_local_privs=YES

         如上Vsftpd虚拟用户配置文件参数详解:

#config virtual user FTP

pam service_name=vsftpd  #虚拟用户启用pam认证

guest_enable=YES  #启用虚拟用户

guest_username=ftpuser  #映射虚拟用户至系统用户ftpuser

user_config_dir=/etc/vsftpd/vsftpd_user_conf     #设置虚拟用户配置文件所在的目录

virtual_use_local_privs=YES  #虚拟用户使用与本地用户相同的权限

(7)  至此,所有虚拟用户共同基于/home/ftpuser主目录实现文件上传与下载,可以在/etc/vsftpd/vsftpd_user_conf目录创建虚拟用户各自的配置文件,创建虚拟用户配置文件主目录:

mkdir -p /etc/vsftpd/vftpd_user_conf/

(8)如下分别为虚拟用户 kin001、kin002 用户创建配置文件:

vim /etc/vsftpd/vsftpd_user_conf/kin001,同时创建私有的虚拟目录,代码如下:

local_root=/home/ftpuser/kin001

write_enable=YES

anon_world_readable_only=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

vim /etc/vsftpd/vftpd_user_conf/kin002,同时创建私有的虚拟目录,代码如下:

local_root=/home/ftpuser/kin002

write_enable=YES

anon_world_readable_only=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

虚拟用户配置文件内容详解:

local_root=/home/ftpuser/kin002  #kin002虚拟用户配置文件路径;

write_enable=YES  #允许登陆用户有写权限;

anon_world_readable_only=YES  #允许匿名用户下载,然后读取文件;

anon_upload_enable=YES  #允许匿名用户上传文件权限,只有在

write_enable=YES       #时该参数才生效;

anon_mkdir_write_enable=YES  #允许匿名用户创建目录,只有在

write_enable=YES    #时该参数才生效;

anon_other_write_enable=YES  #允许匿名用户其他权限,例如删除、重命名等。

(9)  创建虚拟用户各自虚拟目录:

mkdir -p /home/ftpuser/{kin001,kin002} ; chown -R ftpuser:ftpuser  /home/ftpuser

重启vsftpd服务,通过windows客户端管理器登陆vsftpd服务器,测试结果如图所示:

7
8
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容

  • FTP服务概述 简单FTP构建及访问 VSFTP服务基础 用户禁锢、黑白名单 FTP并发及带宽限制 一、FTP服务...
    紫_轩阅读 7,585评论 3 25
  • ftp 文件传输协议 跨平台 上传下载文件 vsftpd 工具:非常安全的文件传输协议;默认的命令端口21号,数据...
    柒夏锦阅读 4,023评论 1 9
  • 我说过,自己是一个非常非常普通的社会底层青年,在这里呢,还不能很清楚的把这个事说清楚,也不知道从哪里说起好,但是我...
    India鲶鱼阅读 112评论 0 0
  • 发现自己从小到大,有些错误一直在犯,两条: 童年——现在 丢东西——...
    读品走思阅读 4,942评论 0 15
  • 我想打个电话 告诉你我现在在看海伦凯勒的那本书 那本书是很久之前过生日舍友送的 看它是因为我在练习翻译的时候偶尔碰...
    残影孤舟阅读 161评论 0 0