热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux系统工程师——(1)Vsftpd服务的部署及优化(下)

目录一、匿名用户访问控制1、登陆控制2、家目录控制3、上传控制4、目录建立控制5、下载控制6、删除重命令控制7、匿名用户上传文件权限设定8、匿名用户上传文件的用户

目录

一、匿名用户访问控制 

1、登陆控制

2、家目录控制

3、上传控制

4、目录建立控制

5、下载控制

6、删除/重命令控制

7、匿名用户上传文件权限设定

8、匿名用户上传文件的用户身份设定

9、登陆数量控制

10、上传速率控制

二、本地用户访问控制

1、登陆控制

2、家目录控制

3、写权限控制

4、上传文件权限控制

5、用户登陆控制

6、锁定用户到自己的家目录中

1、锁定用户到自己的家目录中

2、锁定用户到自己的家目录中的白名单

3、锁定用户到自己的家目录中的黑名单

三、虚拟用户访问控制

1、虚拟用户的建立

2、虚拟用户家目录的独立设定

四、用户配置独立



一、匿名用户访问控制 

当访问FTP服务时没有加入用户认证即为匿名访问

 quit和exit都能够退出ftp服务访问

 

1、登陆控制

 530表明认证失败,原因是FTP服务默认匿名用户不能访问服务器。

设置主配置文件后重启vsftpd服务即可登陆

2、家目录控制

vsftpd的默认家目录为/var/ftp。进入默认家目录,建立/dir目录,并在该目录下建立几个文件。

设置主配置文件,修改家目录为/dir,重启vsftpd服务。

访问vsftpd服务,家目录已经改变为/dir。

3、上传控制

vsftpd服务默认匿名用户不能够上传文件,550为程序本身拒绝

修改主配置文件,给予上传权限,重启服务,出现553报错,需要修改家目录和下面目录的权限才能上传成功

上传文件成功 

 如果修改家目录权限为777,会报错500,权限过大,就无法成功上传了。

4、目录建立控制

匿名用户本身不能够在服务下创建,删除目录

修改主配置文件,给予目录创建权限,重启服务

访问服务,创建目录成功

5、下载控制

默认匿名用户不能下载服务器中的数据。

修改主配置文件,开启下载功能,重启服务。

 访问服务器,下载服务器内容成功,并将内容下载在根下。

6、删除/重命令控制

匿名用户本身不能够在服务下删除,重命名目录。

设置主配置文件,开启删除重命名服务,重启服务。

访问服务器,删除重命名成功。

7、匿名用户上传文件权限设定

在设定文件上传权限前,上传文件的权限为600,设定anon_umask=022后上传文件的权限会变为644。

修改主配置文件,重启服务。

上传文件,查看修改后上传文件的权限。

8、匿名用户上传文件的用户身份设定

访问ftp在pub/中上传文件,所上传文件passwd、inittab的拥有者默认为14(ftp服务用户),更改pub/的拥有组为ftp,更改pub/的权限为775,修改vsftp服务的配置文件,重启服务,访问ftp,在pub/中put上传另一个文件group,文件group的拥有者为设定的jk

 

文件group的拥有者为设定的jk,但其权限为默认权限600,不是我们所设定的644,这是因为当我们设定chown_username之后上传文件权限将不是用anon_umask=xxx参数设定,而是用chown_upload_mode=xxxx来重新设定,修改vsftp服务的配置文件,重启服务,访问ftp,在pub/中put上传另一个文件,文件shadow的拥有者为设定的jk且权限为644

9、登陆数量控制

在多个终端登陆服务器,都能够成功登陆,显然在企业中这样不合理。需要限制登陆用户个数。

设置最大访问个数为2,重启服务。

在第三个终端登陆时会显示登陆个数已经到达上限,不能继续登陆。

10、上传速率控制

生成一个大文件,测试上传速率,发现速率很大。但在实际应用中,企业作为服务提供方,需要对用户上传速率进行限制。

设置用户上传速率,重启服务。

删除大文件,再次上传大文件。

二、本地用户访问控制

1、登陆控制

创建本地用户jobbin,设置密码,能够登陆FTP,所处位置为家目录。

关闭本地用户登陆权限,重启服务。

本地用户不能登陆,530报错为用户认证失败。

2、家目录控制

用户登陆默认家目录为/home/jobbin,创建新目录/jobbindir,修改家目录为/jobbindir,用户登陆后家目录就会变为/jobbindir,从而更改了家目录位置。

3、写权限控制

ftp服务默认用户有写的权力,去掉写的权力后,不能上传或删除文件。

4、上传文件权限控制

本地用户访问ftp,在该本地用户的家目录/home/username中put上传文件/etc/passwd,服务默认上传文件的权限为644,编写vsftp服务的配置文件,设定local_umask=077,重启服务,访问ftp在pub/中上传另一文件/etc/group,可以看到文件group权限为600(777-077-111),权限设定生效


5、用户登陆控制

/etc/vsftpd/ftpusers: 永久用户登录黑名单,在该名单中的用户无法访问ftp
/etc/vsftpd/user_list: 用户列表,默认为用户登录黑名单,在该名单中的用户无法访问ftp;可以在配置文件中设定userlist_deny=NO,此时该用户列表为用户登录白名单,不在名单中的用户不能访问ftp

将jobbin用户添加到黑名单中,再次访问ftp时会被拒绝,530表示访问失败。

 添加到黑名单后访问服务,报错530,无登陆权限。

编写vsftp服务的配置文件,设定userlist_deny=NO,重启服务,此时用户列表为用户登录白名单,在其中添加westos用户后,只有本地用户westos可以访问ftp,不在名单中的用户不能访问ftp(包括匿名用户) 

6、锁定用户到自己的家目录中


1、锁定用户到自己的家目录中

本地用户访问ftp,访问成功后该用户可以切换到FTP服务器系统的根目录中,这显然是不安全的,应该将该用户锁定到自己的家目录中

编写vsftp服务的配置文件,重启服务,本地用户访问ftp不成功,500报错即文件系统权限过大

将家目录的写权限去掉,否则无法访问,此时本地用户访问lftp成功后无法切换浏览根,该用户被锁定到自己的家目录中

2、锁定用户到自己的家目录中的白名单

编写vsftp服务的配置文件,设定chroot_local_user=YES,重启服务,编写锁定名单(/etc/vsftpd/chroot_list默认不存在),在名单中添加用户lee,只有名单中的lee用户访问lftp后可以切换浏览根/,不在名单中的westos用户访问lftp后被锁定到自己的家目录中

用户jobbin能够进入并查看根目录下的文件

用户jk不在白名单/etc/vsftpd/chroot_list上,所以不会进入根目录中。

3、锁定用户到自己的家目录中的黑名单

编写vsftp服务的配置文件,设定chroot_local_user=NO,重启服务,编写锁定名单(/etc/vsftpd/chroot_list默认不存在),在名单中添加用户lee,名单中的lee用户访问lftp后被锁定到自己的家目录中不能切换浏览根/,不在名单中的westos用户访问lftp后可以切换浏览根/

此时名单/etc/vsftpd/chroot_list为黑名单,jobbin用户将被锁在家目录中

三、虚拟用户访问控制

1、虚拟用户的建立

在vsftpd服务配置目录/etc/vsftpd/下建立认证文件,在其中设置虚拟用户的用户名和密码,加密该认证文件—db_load -T(转换) -t(指定转换类型) hash -f(指定加密文件) 文件名 输出文件

在/etc/pam.d下生成认证策略文件(注意认证策略文件路径不用写.db后缀,系统会自动添加)

编写vsftp服务的配置文件,指定认证策略文件,指定虚拟用户功能开启,指定虚拟用户在ftp服务器上的用户身份,重启服务,此时可以通过认证文件中设置的虚拟用户成功访问ftp 

用户jobbin不能访问,报错530

用户user1,user2,user3都能登陆(自己设置的密码别忘了,忘了登不上别怪兄弟没提醒)

2、虚拟用户家目录的独立设定

虚拟用户访问ftp,默认共享目录为/var/ftp ,我们为每个虚拟用户建立各自的家目录

编写vsftp服务的配置文件,指定虚拟用户默认访问目录位其对应家目录,从shell中提取登陆的虚拟用户名,重启服务,此时虚拟用户访问ftp后看到的是其家目录中的资源 

四、用户配置独立

虚拟用户访问ftp后,在其家目录中put上传文件,553报错即文件系统权限限制,我们需要给虚拟用户各自家目录进行权限设置

权限设置完成后所有虚拟用户都可以进行上传操作

 编写vsftp服务的配置文件(注释五行;添加独立语句),重启服务,建立与配置文件中对应的目录,在该目录下编写指定用户的独立上传文件(注意文件名要与用户名相同),只有指定用户可以上传

 user1可以上传

 user2不能上传


推荐阅读
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • 网络安全是一个非常重要的课题,基本上你运行的服务后台越多,你就可能打开更多的安全漏洞.如果配置的恰当的话,Linux本身是非常安全可靠的,假使在Linux系统中有某个安全缺陷,由于Linu ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 集成电路企业在进行跨隔离网数据交换时面临着安全性问题,传统的数据交换方式存在安全性堪忧、效率低下等问题。本文以《Ftrans跨网文件安全交换系统》为例,介绍了如何通过丰富的审批流程来满足企业的合规要求,保障数据交换的安全性。 ... [详细]
  • 本文详细介绍了git常用命令及其操作方法,包括查看、添加、提交、删除、找回等操作,以及如何重置修改文件、抛弃工作区修改、将工作文件提交到本地暂存区、从版本库中删除文件等。同时还介绍了如何从暂存区恢复到工作文件、恢复最近一次提交过的状态,以及如何合并多个操作等。 ... [详细]
  • 单页面应用 VS 多页面应用的区别和适用场景
    本文主要介绍了单页面应用(SPA)和多页面应用(MPA)的区别和适用场景。单页面应用只有一个主页面,所有内容都包含在主页面中,页面切换快但需要做相关的调优;多页面应用有多个独立的页面,每个页面都要加载相关资源,页面切换慢但适用于对SEO要求较高的应用。文章还提到了两者在资源加载、过渡动画、路由模式和数据传递方面的差异。 ... [详细]
  • Linux一键安装web环境全攻略
    摘自阿里云服务器官网,此处一键安装包下载:点此下载安装须知1、此安装包可在阿里云所有Linux系统上部署安装,此安装包包含的软件及版本为& ... [详细]
  • 本文介绍了在Vue项目中如何结合Element UI解决连续上传多张图片及图片编辑的问题。作者强调了在编码前要明确需求和所需要的结果,并详细描述了自己的代码实现过程。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • MVC设计模式的介绍和演化过程
    本文介绍了MVC设计模式的基本概念和原理,以及在实际项目中的演化过程。通过分离视图、模型和控制器,实现了代码的解耦和重用,提高了项目的可维护性和可扩展性。详细讲解了分离视图、分离模型和分离控制器的具体步骤和规则,以及它们在项目中的应用。同时,还介绍了基础模型的封装和控制器的命名规则。该文章适合对MVC设计模式感兴趣的读者阅读和学习。 ... [详细]
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • HTTP协议相关的网络经典五层模型
    网络通信相关概念的讲解–网络协议分层(经典五层模型)在我们了解HTTP相关内容之前我们先来了解一下“网络协议分层”相关内容,因为这个是我们了解HTTP相关内容的前提条件;大家有一 ... [详细]
author-avatar
丿艹约锭So灬幸福老师
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有