################################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. mysql时间戳与日期格式的相互转换

    1.UNIX时间戳转换为日期用函数: FROM_UNIXTIME()[sql] view plain copyselect FROM_UNIXTIME(1156219870); 输出:2006-08- ...

  2. Canvas画布实现自定义时钟效果

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  3. js加强版图片轮播

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. c++数组易错点总结

    c++数组 1.只有在定义数组是才能使用初始化,此后就不能使用了,也不能将一个数组赋给另一个数组 int cards[4] = { 3 , 6 , 8 , 10}; //ok int hands[4] ...

  5. 开源自己写的图片转Ascii码图工具

    GitHub地址:https://github.com/qiangzi7723/img2Ascii 如果觉得不错可以给个star或者提出你的建议 img2Ascii,基于JS的图片转ASCII示意图. ...

  6. FineReport填报分页设置

    1. 问题描述 进行FineReport数据填报时,如果数据量过大,由于前端浏览器的性能限制,如果将数据全部展现出来,速度会非常的慢,影响用户体验,这时候大家就会想,填报是否能像分页预览一样进行分页呢 ...

  7. Eclipse添加struts2

    参照:http://jingyan.baidu.com/article/915fc414fd94fb51394b208e.html 一.插件下载:http://struts.apache.org/do ...

  8. javascript面向对象个人理解

    1. javascript面向对象特性:抽象性,封装性,继承性: 2. js中的对象:键值对的集合:比如说{key:value} 3.抽象性:用一个对象描述一个数据,需要抽取这个对象的核心数据:两个必 ...

  9. .NetCore~TagHelpers标签的使用

    回到目录 TagHelpers 能够让服务端代码参与创建和渲染 HTML 元素,让整个View视图看起来只有Html代码,也让前台开发人员开发的页面直接被后台开发人员使用,而不需要重复的书写代码,这种 ...

  10. 剥析surging的架构思想

    1.前言   前面第一篇阐述了采用基于.NET CORE微服务架构,应用surging服务端与客户端之间进行通信的简单示例以及对于surging服务化框架简单介绍.在这篇文章中,我们将剥析surgin ...