一. ftp

ftp即文件传输,它是INTERNET上仍然常用的最老的网络协议之一,它为系统提供了通过网络与远程服务器传输的简单方法,FTP服务器包的名称为vsftpd

二. 部署ftp服务

1. 安装ftp

yum install -y vsftpd                                              #安装vsftpd软件包

systemctl start vsftpd

systemctl enable vsftpd

firewall-cmd --permanent --add-service=ftp     #部署火墙策略

firewall-cmd --reload

firewall-cmd --list-all

yum install -y lftp                #客户端安装lftp

2.部署ftp

vim /etc/sysconfig/selinux                     #SELINUX=disabled

reboot                                                     #使策略生效

/var/ftp/pub                               ##默认发布目录

/etc/vsftpd/vsftpd.service        ##配置目录

注:配置目录修改完需要重启服务-----systemctl restart vsftpd.service   让修改配置生效

三. vsftpd服务的配置参数

1. 匿名用户设定

vim /etc/vsftpd/vsftpd.conf

anonymous_enable=YES|NO     #匿名用户限制登陆

systemctl restart vsftpd.service

1> 匿名用户上传

vim /etc/vsftpd/vsftpd.conf

write_enable=YES                             #可写

anon_upload_enable=YES               #匿名用户可上传

systemctl restart vsftpd.service

chgrp ftp /var/ftp/pub

chmod 775 /var/ftp/pub

2> 匿名用户家目录修改

anon_root=/westos               #匿名用户修改家目录为westos

3> 匿名用户上传文件默认权限修改

anon_umask=022                    #修改匿名用户上传权限为022

3> 匿名用户建立目录

anon_mkdir_write_enable=YES          #匿名用户创建目录

4>匿名用户下载

anon_world_readable_only=YES|NO       #设定参数值为no表示匿名用户可以下载

5> 匿名用户删除

anon_other_write_enable=YES|NO               #匿名用户是否可以删除

6> 匿名用户使用的用户身份修改

chown_uploads=YES                   #修改上传信息

chown_username=student           #修改所有人为student

7> 最大上传速率

anon_max_rate=204800         #设定最大上传速率

8> 最大链接数

max_clients=1                               #设定最大链接数

2. 本地用户设定

vim /etc/vsftpd/vsftpd.conf

local_enable=YES|NO                            #本地用户登陆限制

write_enable=YES|NO                            #本地用户写权限限制

systemctl restart vsftpd.service

1> 本地用户家目录修改

local_root=/westos                 #修改本地用户家目录

2> 本地用户上传文件权限

local_umask=022                       #修改本地用户上传文件权限

3> 限制本地用户浏览/目录

chroot_local_user=YES

chmod u-w /home/*

3. 本地用户黑白名单的设定

1> 用户黑名单建立

vim /etc/vsftpd/vsftpd.conf

chroot_local_user=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

vim /etc/vsftpd/chroot_list                     #列出黑名单用户

systemctl restart vsftpd.service

2> 用户白名单建立

vim /etc/vsftpd/vsftpd.conf

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list         #列出白名单用户

vim /etc/vsftpd/vsftpd.conf

3> 限制本地用户登陆

vim /etc/vsftpd/ftpusers        #用户黑名单

vim /etc/vsftpd/user_list       #用户临时黑名单

4> 用户白名单的设定

userlist_deny=NO              #vim /etc/vsftpd/vsftpd.conf  修改参数

/etc/vsftpd/user_list            #参数设定,此文件变成用户白名单,只在名单中出现的用户可以登陆ftp

三. ftp虚拟用户的设定

1. 创建虚拟帐号身份

vim /etc/vsftpd/westos                     #创建虚拟帐号身份文件

ftpuser1

123

ftpuser2

123

ftpuser3

123

2. 加密虚拟帐号身份文件

db_load -T -t hash -f /etc/vsftpd/westos westos.db

3. 虚拟帐号身份认证

vim /etc/pam.d/westos

4. 虚拟帐号身份配置

vim /etc/vsftpd/vsftpd.conf

pam_service_name=westos           #指定pam配置文件

guest_enable=YES                           #启用虚拟帐号支持

guest_username=ftp                #映射虚拟帐号身份

chmod u-w /home/ftp

5. 虚拟帐号家目录独立设定

vim /etc/vsftpd/vsftpd.conf

local_root=/ftpusers/$USER      #指定虚拟帐号家目录

user_sub_token=$USER

mkdir /ftpusers

chgrp ftpuser /ftpusers

chmod g+s /ftpusers

mkdir /ftpusers/ftpuser{1..3}

6. 虚拟帐号配置独立

vim /etc/vsftpd/vsftpd.conf

user_config_dir=/etc/vsftpd/userconf

mkdir -p /etc/vsftpd/userconf

vim /etc/vsftpd/userconf/ftpuser1       #在此文件中设定配置文件中的所有参数,此文件的优先级高

注:lftp中遇到的提示答疑

500:权力过大

530:认证失败

550:无写权限

553:权限问题

ftpvsftpd服务相关推荐

  1. 06-JAVA面试核心知识点整理(时间较多的同学全面复习)

    JVM (1) 基本概念: JVM是可运行Java代码的假想计算机 ,包括一套字节码指令集.一组寄存器.一个栈.一个垃圾回收,堆 和 一个存储方法域.JVM 是运行在操作系统之上的,它与硬件没有直接的 ...

  2. iPhone应用程序编程指南

    介绍 请注意:本文档之前命名为iPhone OS编程指南. iPhone SDK为创建iPhone的本地应用程序提供必需的工具和资源.在用户的Home屏幕上,iPhone的本地应用程序表示为图标.它们 ...

  3. 《探错笔记》之Linux的FTP服务

    Linux下FTP服务 FTP服务的安装和配置 FTP服务的安装和开启 添加用户配置权限和指定目录 FTP的配置详解 常见问题 启动vsftpd服务,报错:Job for vsftpd.service ...

  4. springboot实现SSE服务端主动向客户端推送数据,java服务端向客户端推送数据,kotlin模拟客户端向服务端推送数据

    SSE服务端推送 服务器向浏览器推送信息,除了 WebSocket,还有一种方法:Server-Sent Events(以下简称 SSE).本文介绍它的用法. 在很多业务场景中,会涉及到服务端向客户端 ...

  5. 阿里云K8S容器服务的使用

    使用阿里云k8s构建服务 一. 上传镜像 二. k8s运行 三. 服务配置导入 四. 服务路由 五. 节点亲和性和污点管理 一. 上传镜像 在阿里云控制台找到"容器镜像服务",开启 ...

  6. 系统架构升级要不要上微服务?历“久”弥新微服务——你真的需要升级微服务架构吗

    在 <微服务架构设计模式> 一书中,作者总结了关于微服务的一些"重点",原文如下: 中国企业和开发者对微服务架构的热情让我印象深刻.但如同我给所有客户的忠告一样,我想对 ...

  7. kotlin设置CORS跨域资源共享,java设置允许跨域,服务端如何设置 springboot中设置跨域资源共享

    CORS通信过程,都是浏览器或http插件自动完成,不需要 用户/开发人员 参与.对于开发者来说,CORS通信与同源的AJAX通信没有差别,代码是完全一样的.浏览器一旦发现AJAX请求跨源,就会自动添 ...

  8. 使用feign调用注解在eureka上的微服务,简单学会微服务

    使用feign调用注解在eureka上的微服务. 首先,确保所有服务(调用方与被调用方)都被注册在同一个eureka服务上. 1. 在调用方添加依赖(万事第一步,加依赖) <dependency ...

  9. jar包升级部署到服务器详细流程,将服务部署在linux中

    假设你已经准备好以下东西,即可进行服务部署 一台服务器(云服务器或虚拟机皆可) 已安装好的jdk 1.8 + 的环境(可自行百度) 打好的jar包(maven打jar包) 1. 在服务器中新建好你的项 ...

最新文章

  1. Object_Type列表
  2. 手把手带你爬虫 | 爬取语录大全
  3. poj 1077 Eight(A*)
  4. 互动交流:移动系统安全研究专题及用户关心的焦点问题调研
  5. 《c语言从入门到精通》看书笔记——第3章 数据类型
  6. (翻译)Google Guava Cache
  7. matlab时频分析工具箱安装_科研小班 | 加州大学伯克利分校 | 物理、电子工程:MATLAB信号和数据处理课题...
  8. 什么是机器学习?(上)
  9. 软件设计开发思想总结
  10. tomcatserver管理界面username和password忘记
  11. linux卸载HBA卡驱动
  12. Java使用apache commons连接ftp修改ftp文件名失败原因
  13. python制作“电子钢琴”
  14. 右键菜单,用VSCode打开文件和文件夹
  15. qt 使用msvc 打断点无反应解决办法
  16. 第32期:索引设计(索引设计详细规范)
  17. 空间换时间小例子(2)
  18. php不显示notice,解决PHP显示Warning和Notice等问题
  19. MATLAB显示slic,quickshift超像素分割结果图
  20. 盘点PDF文件转Word文档的四种高效率转换方法

热门文章

  1. Word+ChatGPT,一分钟完成周报总结作文
  2. Java实现 LeetCode 528 按权重随机选择(TreeMap)
  3. 使用STM8S003K3 ADC简介以及初始化
  4. dx12 龙书第十二章学习笔记 -- 几何着色器
  5. 博图安装msi失败_博途V13 安装的时候出现一个 MSI File initialization failed:ERROR_INSTALL_FAILURE 请问是怎么回事啊?...
  6. HTML网页部分怎么与上面隔开,HTML网页制作讲义.ppt
  7. 如何策划一场App地推活动方案
  8. Ubuntu 彻底删除Anaconda3
  9. 《金字塔原理》麦肯锡三十年经典培训教材
  10. H5混合开发二维码扫描教程之大圣众娱十人牛牛源码搭建架设