一、匿名开放模式(最不安全)

1、[root@localhost ~]# vim  /etc/vsftpd/vsftpd.conf  (主配置)

anonymous_enable=YES    //允许匿名访问模式
anon_umask=022                //匿名用户上传文件的的umask值
anon_upload_enable=YES      //允许匿名用户上传文件
anon_mkdir_write_enable=YES   //允许匿名用户创建目录
anon_other_write_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
2、[root@localhost ~]# systemctl restart vsftpd
3、[root@localhost ~]# systemctl enable vsftpd
4、[root@localhost ~]# yum install -y ftp  (命令行管理工具)
注:该模式默认用户为anonymous,密码为空,默认访问目录/var/ftp
5、[root@localhost ~]# ftp 192.168.40.132
Connected to 192.168.40.132 (192.168.40.132).
220 (vsFTPd 3.0.2)
Name (192.168.40.132:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd pub
250 Directory successfully changed.
ftp> mkdir zjz1  (创建新文件夹)
257 "/pub/zjz1" created
ftp> rename zjz1  zjz2  (改名)
350 Ready for RNTO.
250 Rename successful.
ftp> rmdir zjz2  (删除)
250 Remove directory operation successful.
ftp> exit  (退出)
221 Goodbye.
注:第一次做时权限不够。解决:1、[root@localhost ~]# chown -Rf ftp /var/ftp/pub

2、[root@localhost ~]# getsebool -a | grep ftp ;[root@localhost ~]# setsebool -p  ftpd_full_access=on (或直接关闭selinux)
3、关闭防火墙

二、本地用户模式

1、[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO  //禁止匿名访问
local_enable=YES   //允许本地用户模式
write_enable=YES   //设置可写权限
local_umask=022   // //本地用户创建文件的的umask值
userlist_enable=YES   //启用“禁止用户名单”,名单文件为ftpusers 和 user_list

userlist_deny=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
2、[root@localhost ~]# systemctl restart vsftpd

3、[root@localhost ~]# systemctl enable vsftpd

4、[root@localhost ~]# ftp 192.168.40.132
Connected to 192.168.40.132 (192.168.40.132).
220 (vsFTPd 3.0.2)
Name (192.168.40.132:root): root  (被拒绝)
530 Permission denied.
Login failed.
ftp>

5、[root@localhost ~]# cd /etc/vsftpd/
[root@localhost vsftpd]# ls
ftpusers  user_list  vsftpd.conf  vsftpd_conf_migrate.sh 
注:上面两个文件夹就是禁止名单,root被禁止对系统更安全

6、[root@localhost ~]# ftp 192.168.40.132
Connected to 192.168.40.132 (192.168.40.132).
220 (vsFTPd 3.0.2)
Name (192.168.40.132:root): cui  (本地用户)    
331 Please specify the password.
Password:  (要密码)
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

其余同匿名模式

三、虚拟用户模式(最安全)

1、[root@localhost ~]# cd /etc/vsftpd/
[root@localhost vsftpd]# ls
ftpusers  user_list  vsftpd.conf  vsftpd_conf_migrate.sh 
[root@localhost vsftpd]# vim vuser.list  (创建用户数据库文件)
zhagnsan
123456 (密码)
lisi
123##  (密码)
2、[root@localhost vsftpd]# db_load -T -t hash -f vuser.list vuser.db  (哈希加密)
3、[root@localhost vsftpd]# file vuser.db
vuser.db: Berkeley DB (Hash, version 9, native byte-order)
4、[root@localhost vsftpd]# chmod 600 vuser.db
5、[root@localhost vsftpd]# rm   -rf   vuser.list

6、[root@localhost ~]# useradd -d /var/ftproot -s /sbin/nologin  virtual  (创建本地用户,指定家目录,禁止本地用户登录,这个账户映射到虚拟用户)

7、[root@localhost ~]# ls -ld  /var/ftproot/
drwx------ 2 virtual virtual 62 Sep 15 08:17 /var/ftproot/
8、[root@localhost ~]# chmod -Rf 755  /var/ftproot/
9、[root@localhost ~]# vim /etc/pam.d/vsftpd.vu   (PAM一组安全机制模块)
auth required pam_userdb.so  db=/etc/vsftpd/vuser
account required pam_userdb.so  db=/etc/vsftpd/vuser
10、[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
guest_enable=YES     //开启虚拟用户模式
guest_username=virtual   //指定虚拟用户账户
allow_writeable_chroot=YES  //允许被禁锢的ftp根目录执行写入操作,而且不拒绝用户的登录请求
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.vu  //指定pam文件
userlist_enable=YES
tcp_wrappers=YES
11、[root@localhost ~]# mkdir /etc/vsftpd/vusers_dir/
[root@localhost ~]# cd /etc/vsftpd/vusers_dir/
[root@localhost vusers_dir]# touch lisi
[root@localhost vusers_dir]# vim zhangsan
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

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

anonymous_enable=NO
.....同上
user_config_dir=/etc/vsftpd/vusers_dir
13、[root@localhost ~]# systemctl restart vsftpd
       [root@localhost ~]# systemctl enable vsftpd

注:粘贴复制时候会有空格,注意删除空格

ftp服务器三种模式的更多相关文章

  1. 用VMWare搭建服务器集群不能上外网的三种模式下对应解决办法

    前言 决心要花费宝贵时间写下这篇心得,是因为从昨天晚上到今天上午被这个VMWare模拟搭建的服务器集群不能上外网的问题搞得很心烦,最后决定跟它杠上了!上午还通过远程连接得到了“空白”同学的帮助,在此表 ...

  2. FTP服务器访问主动模式、被动模式

    在公司里面,经常需要访问外网FTP取资料等情况.但是有时用windows界面访问经常遇到各种问题. 下面介绍两种客户端是如何访问ftp服务器. 首先我们需要说明:防火墙,是阻拦外界与内部的通讯的一道关 ...

  3. git push :推送本地更改到远程仓库的三种模式

    摘要:由于在git push过程中,no-fast-forward 的push会被拒绝,如何解决git push失败的问题?这里面有三种方法,分别会形成merge形式的提交历史,线性形式的提交历史,覆 ...

  4. [转]VMware Workstation网络连接的三种模式

    经常要使用VMWare Workstation来在本地测试不同的操作系统,以前也搞不清楚网络连接三种模式,最近看了几篇文章才算明白.现总结如下: 1. VMware Workstation的虚拟网络组 ...

  5. LVS三种模式配置及优点缺点比较

    目录: LVS三种模式配置 LVS 三种工作模式的优缺点比较 LVS三种模式配置 LVS三种(LVS-DR,LVS-NAT,LVS-TUN)模式的简要配置 LVS是什么: http://www.lin ...

  6. LVS三种模式配置及优点缺点比较 转

    LVS三种模式配置及优点缺点比较   作者:gzh0222,发布于2012-11-12,来源:CSDN   目录: LVS三种模式配置 LVS 三种工作模式的优缺点比较 LVS三种模式配置 LVS三种 ...

  7. VMware虚拟机上网络连接(network type)的三种模式--bridged、host-only、NAT

    VMware虚拟机上网络连接(network type)的三种模式--bridged.host-only.NAT VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换 ...

  8. 应用负载均衡之LVS(一):基本概念和三种模式

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  9. LVS(一):基本概念和三种模式

    网站架构中,负载均衡技术是实现网站架构伸缩性的主要手段之一.所谓"伸缩性",是指可以不断向集群中添加新的服务器来提升性能.缓解不断增加的并发用户访问压力. 负载均衡有好几种方式:h ...

随机推荐

  1. 使用 Capistrano 部署总结

    使用 Capistrano 部署总结 2014年6月27日 admin发表评论阅读评论 简介 Capistrano 是一个 Ruby 程序,它提供高级的工具集来部署你的 Web应用到服务器上.Capi ...

  2. 一例基于thinkphp,jquery和bootstrap渲染的查询数据分页器

    对于某些查询记录很多的结果,web页面不得不采用分页器,现在奉上一例代码,其主要逻辑是:由页面的dom 节点发起ajax请求,返回的查询结果根据页面布局需要进行切片:并根据总记录数和页面展现的条数算出 ...

  3. 【Python网络爬虫三】 爬取网页新闻

    学弟又一个自然语言处理的项目,需要在网上爬一些文章,然后进行分词,刚好牛客这周的是从一个html中找到正文,就实践了一下.写了一个爬门户网站新闻的程序 需求: 从门户网站爬取新闻,将新闻标题,作者,时 ...

  4. CMS 与 框架

    Framework:框架.是整合的工具集,基于编程语言.可以帮助我们快速开发网站.比较常见的是J2EE(基于Java),Symfony2(基于PHP),Django(基于Python),Ruby on ...

  5. HGOI20190710 题解

    Problem A 游戏 有$n (1 \leq n \leq 5)$个硬币初始以"0"(正面),"1"(反面) $m (1 \leq m \leq m)$种操 ...

  6. 【BZOJ4552】排序(线段树,二分)

    题意:给定一个n个数的排列,有m次操作:op,l,r op=0时表示将位置[L,R]升序排序 op=1时表示将位置[L,R]降序排序 最后询问第q个位置上的数字 n,m,q<=1e5 思路:Fr ...

  7. 分区间统计sql、删除重复数据

    删除重复数据 备份表 删除最早的评论

  8. vue-cli中route和router的区别

    在使用vue-router的时候经常分不清router和route的区别: 在函数式编程中: this.$router.push('/login') 或者Router.push() 在动态获取路由参数 ...

  9. R_Studio(学生成绩)对数据进行属性构造处理

    对“Gary.csv”中数据进行进行属性构造处理,增加“总成绩”属性 Gary.csv setwd('D:\\data') list.files() #数据读取 dat=read.csv(file=& ...

  10. JS框架_(Laydate.js)简单实现日期日历

    百度云盘 传送门 密码:71hf JavaScript日期与时间组件_____laydate.js 日期日历效果: <!DOCTYPE html> <html> <hea ...