vsftp虚拟主机
################################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虚拟主机的更多相关文章
- vsftp虚拟主机实战
文件传输协议,基于该协议FTP客户端与服务端可以实现共享文件,上传文件,下载文件.FTP基于TVP协议生成一个虚拟的连接,主要用于控制FTP连接信息,同时再生成一个单独的TCP连接用于FTP数据传输, ...
- 在开启DRS的集群中修复VMware虚拟主机启动问题
通过iSCSI方式连接到ESXi主机上的外挂存储意外失联了一段时间,导致部分虚拟主机在集群中呈现出孤立的状态,单独登陆到每台ESXi上可以看到这些虚拟主机都变成了unknow状态.因为有过上一次(VM ...
- ubuntu15.04 nginx1.6.5 配置虚拟主机
1 在/etc/hosts 添加host 2 在/etc/nginx/nginx.conf中查看http里的include ****** /*.conf的路径,在此路径下添加一个新的******. ...
- 使用WampServer环境,如何配置虚拟主机域名
很多人不会配置虚拟主机,我这里简单交一下大家,分三步: 1.在 C:\Windows\System32\drivers\etc 文件夹中的文件 Hosts 文件修改代码为: 127.0.0.1 loc ...
- linux(十二)___Apache服务器用户认证、虚拟主机的配置
创建xiangkejin zhangsan两个用户 可看见文件中创建的两个用户: 建立虚拟目录并配置用户认证 ①建立虚拟目录 /xiangkejin ②在Apache的主配置文件httpd.conf ...
- nginx 虚拟主机配置
user nginx; #代表使用的用户 worker_processes auto; #工作衍生进程数,一般代表系统cpu核数一到两倍最好 error_log /var/log/nginx/erro ...
- CentOS 7 配置虚拟主机站点
1.进入/etc/httpd/conf 下 将httpd.conf 打开. 2.将DocumentRoot注释掉.(将ServerName 打开要不会有错误警告). 3.将虚拟主机站点配置包含进来:I ...
- Linux服务器配置多台虚拟主机
2016年11月4日15:59:12 LAMP环境 参考:http://blog.itblood.com/nginx-same-ip-multi-domain-configuration.html 在 ...
- apache 配虚拟主机转发到tomcat
我用的是apache2.4.23, 连接tomcat使用自带的 proxy-ajp,需要开启相关模块 引用 http://www.server110.com/apache/201404/10273.h ...
随机推荐
- 使用zabbix_agent监控第一台windows服务器
解压windows客户端压缩包 bin目录下会有win32和win64俩个文件夹,根据windows系统的版本自行进行选择,将客户端程序文件拷贝至C:\zabbix 将conf文件中的zabbix_a ...
- 根据list得到list中的最大值最小值
List ll = new ArrayList(); ll.add(new BigDecimal(1)); ll.add(new BigDecimal(4.99)); ll.add(new BigDe ...
- 转载: C++ 获取文件夹下的所有文件名
最近需要得到某个文件夹下所有文件名,于是就上网上查了查,得到如下的解决方案最多: 而且查到的最早的版本是这个:http://blog.csdn.net/cxf7394373/article/detai ...
- USACO-palsquare 遇到的一个坑
/** ID: njuwz151 TASK: palsquare LANG: C++ */ #include <iostream> #include <cstdio> #inc ...
- flask 上传头像
上传头像,自己感觉了好久,就是上传文件呗其实,存在一个路径,数据库存储这个路径,然后展示给前端,啥都不说,看怎么实现的. 数据库设置如下 user_image=db.Column(db.String( ...
- 使用base64提升视觉效果体验
最近在做一个微信端的小项目,前端代码写完后,就放在手机端测试,没什么问题,但是页面在加载和渲染时的效果却让人有些不爽,虽然是个小项目,我大可不必做这些,但是看着页面的闪动,就忍不住想做些什么. 先说说 ...
- jquery.jqprint-0.3.js打印table表格遇到的坑
在谷歌控制台输入window.print();可以调起当前整个页面的打印预览,那么要想打印页面某块区域内容怎么办呢? 我找到了jqprint插件,其原理是运用iframe 元素创建另外一个文档的内联框 ...
- easyui-dialog里面的东西
<div id="id_open" class="easyui-dialog" title="公司简介" style="wi ...
- C语言学习随笔
前段时间我们学习了HTML,感觉自己不在状态,后来就开始怀疑自己的智商呢!现在C语言也到了尾声,在这20天的学习过程中,我没 有以前那么的傲娇了. 我开始慢慢去反省自己,自己究竟该如何去学习,都说勤能 ...
- ps_cc切片
web前端开发的工作流程的第一步就是根据ui给的psd来还原设计图样貌. 可是一打开满屏的参考线.这时我们可以alt+v+d清空参考线 这时可以按alt+鼠标拖放图片.同时也可以按F进入半屏和匀速连按 ...