Centos7_vsftpd-虚拟账户配置及主机访问控制管理_centos ftp ip访问控制-程序员宅基地

技术标签: ftp  Linux运维与服务搭建配置  运维  linux  

FTP服务器配置系列: Centos7_vsftpd-ssl/tls搭建维护及ftp加固

一. FTP虚拟账户配置

FTP虚拟账户管理分配

配置虚拟用户

$ useradd   vsftpd -d    /home/vsftpd -s   /bin/false		#新建用户并禁止登录
$ mkdir -p /home/vsftpd/ftp1								#新建用户目录及虚拟账户
$ vim  /etc/vsftpd/login.conf  								#新建一个用户登录文件
ftp1														#写入账户密码
123456

1. 创建启动数据库

$ db_load -T -t hash -f /etc/vsftpd/login.conf /etc/vsftpd/login.db		
$ chmod 700 /etc/vsftpd/login.db
$ vim /etc/pam.d/vsftpd
# 注释掉原来所有内容后,增加下面的内容

auth    sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/login

在这里插入图片描述

2. 增加虚拟用户数据库配置文件

$ mkdir /etc/vsftpd/userconf         #创建虚拟用户配置文件目录
$ vim   /etc/vsftpd/userconf/ftp1   #这里的文件名必须与前面指定的虚拟用户名一致
local_root=/home/vsftpd/ftp1/
write_enable=YES

3. 修改主配置文件

$ vim   /etc/vsftpd/vsftpd.conf    		#存在的修改,不存在的增加
anonymous_enable=NO          		    #禁止匿名用户登录
chroot_local_user=YES           		#禁止用户访问除主目录以外的目录
ascii_upload_enable=YES          		#设定支持ASCII模式的上传和下载功能   
ascii_download_enable=YES     			#设定支持ASCII模式的上传和下载功能   
guest_enable=YES                     	#启动虚拟用户
guest_username=vsftpd             		#虚拟用户使用的系统用户名
user_config_dir=/etc/vsftpd/userconf   	#虚拟用户使用的配置文件目录
allow_writeable_chroot=YES      		#最新版的vsftpd为了安全必须用户主目录(也就是/home/vsftpd/ftp1)没有写权限,才能登录

在这里插入图片描述

PS:虚拟账户权限及新建配置

配置虚拟账户管理员及单独的下载用户,上传用户保证ftp服务器安全

  • 配置新建用户需创建用户配置文件/etc/vsftpd/userconf/
  • 新建用户登录文件 /etc/vsftpd/login.conf/
  • 重新创建覆盖数据库

新建用户数据库配置文件 /etc/vsftpd/userconf/username
根据需求增加以下配置

anon_world_readable_only=NO                # 浏览FTP目录和下载 
anon_upload_enable=YES                     # 允许上传 
anon_mkdir_write_enable=YES                # 建立和删除目录 
anon_other_write_enable=YES                # 改名和删除文件 
local_root=/ftpdir/                        # 指定虚拟用户在系统用户下面的路径,限制虚拟用户的家目录,虚拟用户登录后的主目录。 

二. 主机访问控制管理

1.修改hosts.allow,添加允许访问的IP

$ vim /etc/hosts.allow
vsftpd:IPaddress

2. 修改hosts.deny,禁用除了host.allow 以外所有IP地址访问FPT服务器

$ vim /etc/hosts.deny
vsfptd:ALL

以上配置均以需求调整

在这里插入图片描述

附 vsfptd.conf 常用配置参数

一: 进程类别优化:
     1:listen=YES/NO           设置独立进程控制vsftpd
二: 登录和访问控制选项优化:
1:anonymous_enable=YES/NO  允许/禁止匿名用户登陆
2:banned_email_file=/etc/vsftpd/vsftpd.banned_emails允许/禁止邮件的使用的存放路径和目录    
配合使用:deny_email_enable=YES/NO          允许/禁止匿名用户使用邮件作为密码
     3:banner_file=/etc/vsftp/banner_file         在文件banner_file添加欢迎词即可
     4:cmds_allowed=HELP,DIR,QUIT,!       出被允许使用的FTP命令
     5:ftpd_banner=welcome to ftp server  和第三条一样是欢迎词屏幕,方法不一样
     6:local_enable=YES/NO        允许/禁止本地用户登陆
     7:pam_service_name=vsftpd     使用pam模块进行ftp客户端的验证
     8:userlist_deny=YES/NO       禁止/允许文件列表user_list的用户访问ftp服务器
       配合使用:userlist_file=/etc/vsftpd/user_list   用户列表文件
       配合使用:userlist_enable=YES/NO   激活/失效第8条的功能 
     9:tcp_wrappers=YES/NO    启用/不启用tcp_wrappers控制服务访问的功能              
三: 匿名用户选项的优化:
      1:anon_mkdir_write_enable=YES/NO   允许/禁止匿名用户创建目录、删除文件
      2:anon_root=/path/to/file         设置匿名用户的根目录,默认是/var/ftp/ 你可以修改这个默认路径
      3:anon_upload_enable=YES/NO        允许/禁止匿名用户上传
      4:anon_world_readable_only=YES/NO  禁止/允许匿名用户浏览目录和下载
      5:ftp_username=anonftpuser         把匿名用户绑定到系统用户名
      6:no_anon_password=YES/NO          不需要/需要匿名用户的登录密码
四:本地用户选项的优化:
      1:chmod_enable=YES/NO               允许/禁止本地用户修改文件权限
      2:chroot_list_enable=YES/NO         启用/不启用禁锢本地用户在家目录
      3:chroot_list_file=/path/to/file    建立禁锢用户列表文件,一行一个用户
      4:guest_enable=YES/NO               激活/不激活虚拟用户
      5:guest_username=系统实体用户       把虚拟用户绑定在某个实体用户上
      6:local_root=/path/to/file          指定或修改本地用户的根目录
      7:local_umask=具体权位数字          设置本地用户新建文件的权限
      8:user_config_dir=/path/to/file     激活虚拟用户的的主配置文件
     五:目录选项的优化:
      1:text_userdb_names=YES/NO          启用/禁用用户的名称取代用户的UID
     六:文件传输选项优化:
      1:chown_uploads=YES/NO              启用/禁用修改匿名用户上传文件的权限
         配合使用:chown_username=账户     指定匿名用户上传文件的所有者
      2:write_enable=YES/NO               启用/禁止用户的写权限
      3:max_clients=数字                  设置FTP服务器同一时刻最大的连接数
      4:max_per_ip=数字                   设置每ip的最大连接数
      七:网络选项的优化:
      1:anon_max_rate=数字                设置匿名用户最大的下载速率(单位字节)
      2:local_max_rate=数字               设置本地用户最大的下载速率
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_38626043/article/details/106665601

智能推荐

Unable to delete directory 'E:\workspace-android\xxx\app\build' Failed to delete some children. This-程序员宅基地

文章浏览阅读2.8k次。版本问题解决方法第一步:共享2. 第二步:停止共享3. android studio : Clean Project4. 错误解决如果你觉得有用,那就点个赞吧!!!

jsp使用七牛云API和webuploader上传多组图片_jsp界面上传多张图片-程序员宅基地

文章浏览阅读1.7k次。文章目录jsp使用七牛云API和webuploader上传多组图片介绍目录树遇到的问题上传组件的选择问题进度条多线程前端界面数据库关键代码UserPhotoDaoImplUploadServletJDBCServletlist.jspadd.jsppom.xml参考jsp使用七牛云API和webuploader上传多组图片介绍前作:JavaWeb servlet jsp 使用七牛云API上传图片使用mysql保存图片七牛云路径,在上传图片的时候直接上传到七牛云前端使用了layui,图片多组上传使用_jsp界面上传多张图片

matlab处理汉字文本,Matlab读取CSV文件(补足六个汉字).docx-程序员宅基地

文章浏览阅读854次。Matlab读取CSV文件环境:Matlab R2009a,Win 71、用csvread函数注意:csvread函数只试用与用逗号分隔的纯数字文件第一种:M = CSVREAD('FILENAME') ,直接读取csv文件的数据,并返回给M第二种:M = CSVREAD('FILENAME',R,C) ,读取csv文件中从第R-1行,第C-1列的数据开始的数据,这对带有头文件说明的csv文件(如..._matlab读取csv文件中的文字

在Jetson Nano上学习ROS的记录(版本Ubuntu18.04,课程来源赵虚左老师的《ROS理论与实践》)第二章 话题通信_jeston nano python与ros通信-程序员宅基地

文章浏览阅读1.3k次,点赞11次,收藏11次。系列文章目录第一章 ROS空间创建、helloworld的实现、开启多个节点第二章 话题通信文章目录系列文章目录前言一、话题通信是什么?二、话题通信基本操作(Python)1.流程2.编写发布方3.订阅方4.话题通信自定义msg总结前言现在大二,之前大一有幸参加了2021的国赛,很壮烈的拿了个江苏赛区的二等奖。但发现无人机这个题,真的是往堆钱上走了。不上ROS不行,现在来记录一下一个纯小白学习ROS的过程和遇到的问题。防止学弟、学妹们再走我走过的弯路。板子用的是学长给的Jetson Nano(_jeston nano python与ros通信

笔记本usb转vga外连显示器问题解决记录_usb转vga连接显示器没反应-程序员宅基地

文章浏览阅读7.7k次,点赞5次,收藏4次。由于工位的笔记本只有十分老式的DELL老款显示器,只有双头vga接口,电脑上无vga接口,手头只有一个达尔稳的usb转接vga接口,笔记本的usb外接和显示器相连相连。最近买了一台新的笔记本,直接插上转接口无法点亮外接屏,显示驱动错误,由于忘记老笔记本当时使用的是何转接驱动,问了网店客服未得到明确答案,前后尝试下载了绿联的官方驱动、以及百度查找的驱动下载等,驱动名称诸如DisplayLink,但是下载完电脑依旧无法识别usb转vga。后来打开老笔记本,在驱动精灵的驱动管理一项项对比,发现使用的是Fresc_usb转vga连接显示器没反应

[Adobe Devnet]嵌入字体_adobedevabagaru字体-程序员宅基地

文章浏览阅读794次。http://www.riadev.com/forum.php?mod=viewthread&tid=587嵌入字体 - RIAMeeting翻译小组 - 王成 2 D$ d$ A; b9 c4 R 在这张图的下面,你能看到2个版本的XYZ公司的Logo. 5 o: g4 q0 T2 B$ K' G- w 这两个版本都是由一个球形图案加上文字"XYZ Company"组成的。 在屏幕左侧的_adobedevabagaru字体

随便推点

JS 分页打印_js打印表格在一页显示-程序员宅基地

文章浏览阅读1.3k次。在调用window.print()时,可以实现打印效果,但内容太多时要进行分页打印。在样式中有规定几个打印的样式page-break-before和page-break-afterCSS属性并不会修改网页在屏幕上的显示,这两个属性是用来控制文件的打印方式。每个打印属性都可以设定4种设定值:auto、always、left和right。其中Auto是默认值,只有在有需要时,才需设定分页符号 (Pa..._js打印表格在一页显示

XXL-JOB原理--任务调度中心任务管理(四)_triggerkey triggerkey = triggerkey.triggerkey(jobn-程序员宅基地

文章浏览阅读2.1w次,点赞3次,收藏32次。 在任务调度中心可以进行新建任务,新建任务之后可以在任务列表中查看相关任务,任务可以根据我们配置的cron表达式进行任务调度,或者也可以在任务列表中执行、暂停、删除和查看相关运行日志等操作。一、任务调度中心管理1、新建任务、2、任务列表任务操作二、任务创建与操作 我们了解到xxl-job是基于quartz来实现定时任务的(其实任务调度中心任务执行..._triggerkey triggerkey = triggerkey.triggerkey(jobname, jobgroup)

关于计算机基础的重要性_学习计算机基础的意义-程序员宅基地

文章浏览阅读2.2k次,点赞4次,收藏11次。计算机基础的重要性,推荐了http://bbs.theithome.com/read-htm-tid-123.html的帖子,但是网站已经上不去了,从别处搜来看了,觉得很有道理,与大家共享一下。 我始终认为,对一个初学者来说,IT界的技术风潮是不可以追赶的,而且也没有能力去追赶。 我时常看见自己的DDMM们把课本扔了,去卖些价格不菲的诸如C#, VB.Net_学习计算机基础的意义

RTL8762C SDK开发-点ST7567(TM9665)屏-程序员宅基地

文章浏览阅读605次,点赞2次,收藏4次。本文参考:1)如何使用STM32F103驱动ST7567液晶屏2)瑞昱rtl8762芯片通过SPI控制st7789,从而实现LCD显示_Small_Six_的博客-程序员宅基地1、瑞昱rtl8762芯片通过SPI控制st7789,从而实现LCD显示_Small_Six_的博客-程序员宅基地中关于怎么SPI驱动屏写的很清楚,不再赘述,本文只是模仿。2、完整的源码以后在贴吧,现在源码审核的时间太长。_st7567

go语言中文乱码gbk转UTF8_go gbk转utf8中文乱码-程序员宅基地

文章浏览阅读1.5k次。/** * gbk转utf8 */func coverGBKToUTF8(src string) string { return mahonia.NewDecoder("gbk").ConvertString(src)}/** * 替换乱码 */func replaceNullHtml(src string) string { temp := strings.Replace(src, "聽", "", -1) return temp}/** * gbk转utf8 */fun._go gbk转utf8中文乱码

pythonFlask框架学习_flask layout-程序员宅基地

文章浏览阅读1k次,点赞3次,收藏33次。Flask是由python实现的一个web微框架,让我们可以使用Python语言快速实现一个网站或Web服务。而且有对应的python3及python2版本。首先这边选择的是python3.6,虽然python3在网上好像名声不咋地,而且一度有文章说python3正在毁灭Python,但是反正是别人选的,也就将就了。在网上看别人下载个flask很麻烦,反正我的很简单,windows环境下的..._flask layout

推荐文章

热门文章

相关标签