################################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. 【JavaScript学习】-JS内置对象2-Data对象

    Date对象: Data对象可以储存任意一个日期,并且可以精确到毫秒数(1/1000 秒). 定义: //默认初始值定义: var dataName=new Date(); /*使用关键字new;Da ...

  2. solr 搜索引擎查询

    搜索引擎查询的时候://对于这些filterQuery的字段,必须是indexed="true",如果之前有这个字段后来改这个indexed属性,则需要重新建立索引,否则搜索不到S ...

  3. Spring Security 概念基础 验证流程

    Spring Security 概念基础 验证流程 认证&授权 认证:确定是否为合法用户 授权:分配角色权限(分配角色,分配资源) 认证管理器(Authentication Manager) ...

  4. kbengine新手教程

    KBEngine服务端引擎开源项目地址(github):https://github.com/kbengine/kbengine引擎下载与编译:http://kbengine.org/cn/docs/ ...

  5. Hadoop出现的错误及处理

    1.local host is: (unknown); destination host is: "yun-ubuntu":8031; 原因:yun-ubuntu这个host 并不 ...

  6. mysql主从复制原理探索

    上一篇文章里面,讲到了遇到mysql主从延迟的坑,对于这次的坑多说两句,以前也看过这样的例子,也知道不能够写完之后马上更新,但是真正开发的时候还是没有注意到这一点,道理大家都懂,但是还是会犯错,只有等 ...

  7. voa 2015 / 4 / 13

    couch potato : someone who likes to spend a lot of time sitting or lying down while watching televis ...

  8. Java 时钟

    <!DOCTYPE html><html lang="zh"><head> <meta charset="UTF-8" ...

  9. java 中的重载与重写 抽象类与接口的区别

    . 重载与重写的区别: 重载(overload)               | 重写(override) 1 方法的名称相同,参数个数.类型不同 | 方法名称.参数列表.返回值类型与父类完全相同 2 ...

  10. 怎么调试nodejs restful API 以及API的Authorization

    最近Nodejs,python越来越火了,同时也越来越多的人在用node写服务,可是怎么去调试服务呢?以及当你一个服务发布出去,怎么保证其安全性呢? 环境:linux unbuntu 语言:nodej ...