Centos7_vsftpd-虚拟账户配置及主机访问控制管理__abcdef的博客-程序员宅基地

技术标签: 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

智能推荐

Python 读取oracle 报错 :oci.dll is not the correct architecture 解决方案_python链接d:\tools\plsql\instantclient_11_2\oci.dll _sun_tao1的博客-程序员宅基地

原因: instantclient版本为32位,需更换成64位。解决方案:1. 重新下载 instantclient 64位, 下载链接:http://jvniu.jb51.net:81/201708/tools/instantclientx64_jb51.rar下载完成后,解压得到 文件夹 instantclient_11_22 将整个文件夹移动到oracle安装目录,clie..._python链接d:\tools\plsql\instantclient_11_2\oci.dll is not the correct archi

蓝桥杯 - 高精度算法_蓝桥杯经典算法_乐乐_16的博客-程序员宅基地

问题描述  输入两个整数a和b,输出这两个整数的和。a和b都不超过100位。算法描述  由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储。对于这种问题,一般使用数组来处理。  定义一个数组A,A[0]用于存储a的个位,A[1]用于存储a的十位,依此类推。同样可以用一个数组B来存储b。  计算c=a+b的时候,首先将A[0]与B[0]相加,如果有进位产生,则把进..._蓝桥杯经典算法

git status显示修改了大量文件_git status未修改的png文件_CouryLove的博客-程序员宅基地

diff --git a/Android.mk b/Android.mk old mode 100644 new mode 100755原来是filemode的变化,文件chmod后其文件某些位是改变了的,如果严格的比较原文件和chmod后的文件,两者是有区别的,但是源代码通常只关心文本内容,因此chmod产生的变化应该忽略,所以设置一下:切到源码的根目录下,git config -..._git status未修改的png文件

C++判断字符串是否是回文_c++语言输入一个字符串判断是否为回文_qiushan_的博客-程序员宅基地

输入一个字符串,判断其是否是回文,是输出“yes”,不是输出“no”。回文即正读,反读是完全相同的文字。(如ABCDCBA、madam是回文,abcd不是回文。)使用VC++6.0实现:不使用指针:#include <iostream.h>#include <string.h>void main(){ int i,j,n=0,flag; ch..._c++语言输入一个字符串判断是否为回文

Windows命令行窗口内容显示不完全的问题_window 终端显示内容不全_亲亲Friends的博客-程序员宅基地

说明:DOS下的cmd命令界面本身是没有向上翻页的功能。今天在测试一个软件的时候,用console控制台启动,查看输出内容时,由于内容行数过大,虽然已经翻页了,但仍然看不到最前面的内容。解决方法单击命令行窗口上边框->属性->布局,然后适当增大屏幕缓冲区高度大小即可。或者,直接把数据输出到文件里,这样就不用担心缓冲区问题了。..._window 终端显示内容不全

LockWindowUpdate系列5:关于LockWindowUpdate的最终评论_lihaidomain的博客-程序员宅基地

现在大家了解了LockWindowUpdate的设计意图,我现在将要告诉大家你们为什么不应当使用这个函数,甚至不是因为其设计意图的缘因。 这需要回到LockWindowUpdate被创造出来的历史环境。回到16位Windows(特别是Windows 3.1)的时代。在那时

随便推点

Ubuntu下“sshd:unrecognized service“_sshd: unrecognized service_子建莫敌的博客-程序员宅基地

windows下的VMware Station安装了ubuntu(版本不限)。想通过远程工具WinSCP上传文件,因为U盘挂载的办法太麻烦了。 打开WinSCP程序,输入需要的信息,连接。 显示“连接由于目标计算机积极拒绝,无法连接。” 我怀疑远程服务没开启。开启远程服务器在终端界面输入:service sshd start。 结果显示:ssh:unrecognized service。_sshd: unrecognized service

浅谈我亲历的京东发展史_剑海情涛的博客-程序员宅基地

2004年京东刚上线时,我们叫京东多媒体。当时京东只有一组简单展示IT 产品的网页,而如今京东已经是覆盖PC端、移动端,并完整支撑物流、订单、交易、商品、财务系统的巨大电商平台;2014年4月份之前,京东的域名由原来的360buy.com更改为了jd.com,而且原来以蓝色为主调的“360buy”换成了一只名为“Joy”卡通金属狗,对于页面也进行了改版,使得图标和logo更加简洁清晰,这次域名的更

springboot 解决跨域问题 | Spring Boot 24_哪 吒的博客-程序员宅基地

一、为什么会出现跨域问题出于浏览器的同源策略。同源策略是一种约定,它是浏览器最核心也是最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的JavaScript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域),就是两个页面具有相同的协议protocol、主机host和端口号port。二、当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域当前

unity怎么读取文件夹图片_Unity3D选择本地图片并加载_weixin_39964660的博客-程序员宅基地

本文实例为大家分享了Unity3D选择本地图片并加载的具体代码,供大家参考,具体内容如下①找到System.Windows.Forms.dll:在unity的安装目录中找到它,如E:\ProgramFiles(x86)\Unity\Editor\Data\Mono\lib\mono\2.0②设置.NET 2.0集:Untiy默认是.NET 2.0 Subset。在Edit->Project ..._unity实现选中电脑中的图片并获得图片的具体内容

SQL和T-SQL的区别_t-sql和sql的区别_森屿海岛的博客-程序员宅基地

1、SQL 结构化查询语言(Structured Query Language) 简称SQL是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名2、T-SQL T-SQL 即 Transact-SQL,是 SQL 在 Microsoft SQL Server 上的增强..._t-sql和sql的区别

推荐文章

热门文章

相关标签