################################Vsftp服务器实战##########################################3

文件传输协议,基于该协议FTP客户端与服务端可以实现共享文件,上传文件,下载文件。FTP基于TVP协议生成一个虚拟的连接,主要用于控制FTP连接信息,同时再生成一个单独的TCP连接用于FTP数据传输,用户可以通过客户端想FTP服务段上传,下载,删除文件,FTP服务端可以同时提供给多人共享使用;

FTP服务是client/server(C/S)模式,基于FTP协议是新FTP文件对外共享及传输的软件称之FTP服务器源端,客户端程序基于FTP协议,则称之为FTP客户端,FTP客户端可以向FTP服务器上传,下载文件;

传输模式----------------------

FTP基于C/S模式,FTP客户端与服务器端有两种传输 模式,分别是FTP主动模式、FTP被动模式,主被动模式均是以FTP服务器端为参照。

主动模式  PORT

被动模式   PASV

用户类型:

(1)匿名 用户:anon

(2)本地用户:/etc/passwd

(2)虚拟用户:把登录用户映射成制定 的系统账号,(/sbin/nologin)来访问ftp资源

/etc/vsftpd/vsftpd.conf  #主配置文件

anonymous_enable=YES    #允许匿名用户访问

local_enable=YES   #允许本地用户访问

write_enable=YES      #本地用户读写

local_umask=022     #本地用户创建文件的默认权限

anon_upload_enable=YES   #匿名用户是否可以上传

anon_mkdir_write_enable=YES  #匿名用户是否可以创建

dirmessage_enable=YES  #如果目录存在。message隐藏文件,进入该目录,会显示.message

xferlog_std_from_port_20=YES   #从  端口20连

xferlog_std_format=YES   #日志 格式

listen=NO   #是否监听

listen_ipv6=YES

pam_service_name=vsftpd   #列出与pam相关的文件名称,即/etc/pam.d/目录下 的文件名称

userlist_enable=YES

tcp_wrappers=YES   #支持TCP

###############################################################################################

vsftp虚拟用户配置

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

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

vsftpd虚拟用户环境软件:

[root@localhost ~]# yum install -y vsftpd libdb libdb-utils --skip-broken

创建虚拟用户临时文件/etc/vsftpd/ftpuser.txt;

root@localhost ~]# vim /etc/vsftpd/ftpuser.txt

生成VSFTPD虚拟用户数据库认证文件,设置权限700

[root@localhost ~]# db_load -T -t hash -f /etc/vsftpd/ftpuser.txt /etc/vsftpd/vsftpd_login.db
[root@localhost ~]# chmod 700 /etc/vsftpd/vsftpd_login.db
[root@localhost ~]# file /etc/vsftpd/vsftpd_login.db
/etc/vsftpd/vsftpd_login.db: Berkeley DB (Hash, version 9, native byte-order)

配置PAM认证文件,/etc/pam.d/vsftpd行首加入以下配置

[root@localhost ~]# vim /etc/pam.d/vsftpd

所有vsftpd虚拟用户需要映射到一个系统用户,该系统用户不需要密码,也不需要登录,主要用于虚拟用户映射使用

root@localhost ~]# useradd -s /sbin/nologin ftpuser
[root@localhost ~]# grep -v "^#" /etc/vsftpd/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
xferlog_std_format=YES
listen=NO
listen_ipv6=YES

pam_service_name=vsftpd   
userlist_enable=YES    
tcp_wrappers=YES

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf 

[root@localhost ~]# mkdir -p /etc/vsftpd/vsftpd_user_conf 

 分别为虚拟用户xiaoyu,zhangsan用户创建配置文件,同时创建各自的虚拟目录

[root@localhost ~]# vim /etc/vsftpd/vsftpd_user_conf/xiaoyu

local_root=/home/ftpuser/xiaoyu        #xiaoyu虚拟用户配置文件路径
write_enable=YES                              #允许登录xiaoyu有写入权限
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          #允许匿名用户其他全权限,如修改全权限,删除,改名等

创建虚拟用户 各自的虚拟目录

[root@localhost ~]# mkdir -p /home/ftpuser/{xiaoyu,zhangsan};
[root@localhost ~]# chown -R ftpuser:ftpuser /home/ftpuser/xiaoyu

[root@localhost ~]# ll -d /home/ftpuser/xiaoyu/
drwxr-xr-x. 2 ftpuser ftpuser 18 6月 24 17:32 /home/ftpuser/xiaoyu/

[root@localhost ~]# systemctl restart vsftpd
[root@localhost ~]# netstat -anput | grep vsftpd
tcp6 0 0 :::21 :::* LISTEN 3271/vsftpd
[root@localhost ~]# systemctl enable vsftpd

例如:在xiaoyu路径下创建文件

在本地客户端验证即可!

vsftp虚拟主机的更多相关文章

  1. vsftp虚拟主机实战

    文件传输协议,基于该协议FTP客户端与服务端可以实现共享文件,上传文件,下载文件.FTP基于TVP协议生成一个虚拟的连接,主要用于控制FTP连接信息,同时再生成一个单独的TCP连接用于FTP数据传输, ...

  2. 在开启DRS的集群中修复VMware虚拟主机启动问题

    通过iSCSI方式连接到ESXi主机上的外挂存储意外失联了一段时间,导致部分虚拟主机在集群中呈现出孤立的状态,单独登陆到每台ESXi上可以看到这些虚拟主机都变成了unknow状态.因为有过上一次(VM ...

  3. ubuntu15.04 nginx1.6.5 配置虚拟主机

    1 在/etc/hosts   添加host 2 在/etc/nginx/nginx.conf中查看http里的include ****** /*.conf的路径,在此路径下添加一个新的******. ...

  4. 使用WampServer环境,如何配置虚拟主机域名

    很多人不会配置虚拟主机,我这里简单交一下大家,分三步: 1.在 C:\Windows\System32\drivers\etc 文件夹中的文件 Hosts 文件修改代码为: 127.0.0.1 loc ...

  5. linux(十二)___Apache服务器用户认证、虚拟主机的配置

    创建xiangkejin  zhangsan两个用户 可看见文件中创建的两个用户: 建立虚拟目录并配置用户认证 ①建立虚拟目录 /xiangkejin ②在Apache的主配置文件httpd.conf ...

  6. nginx 虚拟主机配置

    user nginx; #代表使用的用户 worker_processes auto; #工作衍生进程数,一般代表系统cpu核数一到两倍最好 error_log /var/log/nginx/erro ...

  7. CentOS 7 配置虚拟主机站点

    1.进入/etc/httpd/conf 下 将httpd.conf 打开. 2.将DocumentRoot注释掉.(将ServerName 打开要不会有错误警告). 3.将虚拟主机站点配置包含进来:I ...

  8. Linux服务器配置多台虚拟主机

    2016年11月4日15:59:12 LAMP环境 参考:http://blog.itblood.com/nginx-same-ip-multi-domain-configuration.html 在 ...

  9. apache 配虚拟主机转发到tomcat

    我用的是apache2.4.23, 连接tomcat使用自带的 proxy-ajp,需要开启相关模块 引用 http://www.server110.com/apache/201404/10273.h ...

随机推荐

  1. 如何退出 Vim

    点击 Esc 键,; Vim 进入命令模式.然后输入: :q  退出(这是 :quit 的缩写) :q! 不保存退出(这是  :quit! 的缩写) :wq 写入文件并退出:(这是 :writequi ...

  2. ASP.NET MVC Bundling and RequireJS

    关于ASP.NET MVC Bundling and RequireJS的取舍问题,最近比较困惑,我希望有一种方式可以结合两者的优点.作为.NET程序员,难道你没有过这方面的困惑吗? 因为我感觉各自都 ...

  3. Angular4 后台管理系统搭建(1) - 建立一个通用的Wijmo5 flexgrid分页器组件

    17年4月,开始学习angular2,到5月跟着升级到angular4.目前还在学习,搭建中.我的最终目的是用angular4框架搭建一个后台管理系统.这里使用了三个关键的外部库. 1.使用admin ...

  4. Kafka 源代码分析之FileMessageSet

    这里主要分析FileMessageSet类 这个类主要是管理log消息的内存对象和文件对象的类.源代码文件在log目录下.这个类被LogSegment类代理调用用来管理分片. 下面是完整代码.代码比较 ...

  5. 【Android Developers Training】 94. 创建一个空内容提供器(Content Provider)

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  6. JAVA基础——方法笔记

    java方法_学习笔记 由于我本人对java方法已经比较熟悉了,java方法的定义和使用也比较简单,这里只列举了基于我自身容易搞错的地方,希望对大家的学习有帮助!! 方法的参数可以是基本数据类型,如 ...

  7. SAP PI入门

    本教程的目的是让读者理解:SAP Process Intergration(以下简称SAP PI)是什么.我们不需要探究课题的本质,但是会讨论SAP PI的架构和不同特点.本文只会覆盖到PI的基本特点 ...

  8. 一个简单的python选课系统

    下面介绍一下自己写的python程序,主要是的知识点为sys.os.json.pickle的模块应用,python程序包的的使用,以及关于类的使用. 下面是我的程序目录: bin是存放一些执行文件co ...

  9. Spring 极速集成注解 redis 实录

    Redis 做为基于内存的 Key-Value 数据库,用来做缓存服务器性价比相当高. 官方推出的面向 Java 的 Client Jedis,提供了很多接口和方法,可以让 Java 操作使用 Red ...

  10. 打包可执行的jar

    #配置项目路径 *除程序文件以外,其他相关素材也可以打包进jar,但在内部访问时需以包名作为跟路径,如hello/xxx/yyy.zzz mkdir hello vi hello/HelloWorld ...