热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

基于LINUX系统的proftp的学习笔记(二)

文章标题:基于LINUX系统的proftp的学习笔记(二)。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

  这里要讲一个非常实用的命令
  
  /usr/local/proftpd/sbin/ftpshut
  这个命令还是比较实用的,因为你可能需要不断的调整你的服务器,而这个命令就非常灵活,可以在不停止proftpd进程的前提下,定时停止ftp连接,这里将会详细说它是怎么使用的。
  
  ftpshut [ -l min ] [ -d min ] time [ warning-message ... ]
  
  -l min: 在ftp关闭服务之前的几分钟内,尝试建立新的ftp连接均不被接受
  -d min: 在ftp关闭服务之前的几分钟内,已经建立的ftp连接将被中止
  time: 在多少时间后,服务器将关闭ftp服务,格式有两种
  +number 经过number分钟后关闭
  MMHH 在今天MM:HH服务器将关闭
  
  注意,这里我们用这个命令是把ftp服务给停了,但实际的proftpd进程还没停止,所以一般调试ftp会使用到这个命令。
  
  举例:
  再经过30分钟后,FTP服务将关闭,在这之前的20分钟不可接受任何新的ftp连接,已经建立的在服务关闭前10分钟强制断线,并在客户端显示“FTP Server Will shutdown at time”
  
  ftpshut -l 20 -d 10 +30 "FTP Server Will shutdown at time"
  
  其实ftpshut就是产生/etc/shutmsg ,你只要删除这个文件ftp又可以重新服务,或者
  直接
  
  ftpshut -R
  
  好了,开始讲一些proftpd的基本配置吧,其实大家如果熟悉apache的配置的话,你会发现proftpd的设置基本都是类似的,它的配置基本格式是
  
  #全局设置
  设置项目1 参数1
  设置项目2 参数2
  
  #某个目录的设置
  
  ...
  ...
  

  
  #关于匿名用户的设置
  
  ...
  ...
  
  ...
  ...
  

  
  
  我们用到的比较多的可能是Limit的使用,Limit大致有以下动作,基本能覆盖全部的权限了,大家灵活使用就是了。
  
  CMD:Change Working Directory 改变目录
  MKD:MaKe Directory 建立目录的权限
  RNFR: ReName FRom 更改目录名的权限
  DELE:DELEte 删除文件的权限
  RMD:ReMove Directory 删除目录的权限
  RETR:RETRieve 从服务端下载到客户端的权限
  STOR:STORe 从客户端上传到服务端的权限
  READ:可读的权限,不包括列目录的权限,相当于RETR,STAT等
  WRITE:写文件或者目录的权限,包括MKD和RMD
  DIRS:是否允许列目录,相当于LIST,NLST等权限,还是比较实用的
  ALL:所有权限
  LOGIN:是否允许登陆的权限
  针对上面这个Limit所应用的对象,又包括以下范围
  AllowUser 针对某个用户允许的Limit
  DenyUser 针对某个用户禁止的Limit
  AllowGroup 针对某个用户组允许的Limit
  DenyGroup 针对某个用户组禁止的Limit
  AllowAll 针对所有用户组允许的Limit
  DenyAll 针对所有用户禁止的Limit
  关于限制速率的参数为:
  TransferRate STOR|RETR 速度(Kbytes/s) user 使用者
  
  下面我们以例子来解说proftp的配置,这样大家可能更加容易理解。
  
  1。ftp服务器支持断点续传,且最大支持同时10人在线,每个ip只允许一个连接;
  2。允许ftpusers用户组只能访问自己的目录,而不能访问上级或者其他目录;
  3。用户登陆服务器时不显示ftp服务器版本信息,以增加安全性;
  4。建立一个kaoyan的ftp帐户,属于ftpusers组,kaoyan用户只允许下载,没有可写的权限。下载速率限制在50Kbytes/s。
  5。建立一个upload用户,也属于ftpusers组,同kaoyan用户的宿主目录一样,允许upload用户上传文件和创建目录的权限,但不允许下载,并且不允许删除目录和文件的权限,上传的速率控制在100Kbytes/s
  
  先是前期的用户和组添加以及目录的权限设置
  
  group add ftpusers
  useradd -d /home/kaoyan -g ftpusers -s /bin/fales kaoyan
  useradd -d /home/kaoyan -g ftpusers -s /bin/fales upload
  chown -R kaoyan:upload /home/kaoyan
  chmod -R 775 /home/kaoyan
  如果你只想ftpusers组的用户访问,可以设置成770都行。
  设置/usr/local/proftpd/etc/proftpd.conf
  
  注意#表示注释,对设置没影响,可以不写
  
  ServerName "Frank's FTP Server"
  ServerType standalone
  DefaultServer on
  Port 21
  Umask 022
  MaxInstances 30 #最多有30个proftpd的PID
  User nobody
  Group nobody
  TimeoutStalled 10
  MaxClients 10 #最多允许10个用户在线
  MaxClientsPerHost 1 "对不起,一个IP只允许一个连接"
  AllowStoreRestart on
  #允许断点续传(上传),断点续续(下载)是默认支持的,不用设置
  DisplayLogin welcome.msg #欢迎词文件
  ServerIdent off #屏蔽服务器版本信息
  DefaultRoot ~ ftpusers #设置ftpusers组只能访问自己的目录
  
  
  AllowOverwrite on
  

  
   #不允许写
  DenyUser kaoyan
  

   #不允许删除,改名,下载
  DenyUser upload
  

  TransferRate RETR 50 user kaoyan
  TransferRate STOR 100 user upload
  

  
  我这里实现的方式还可以通过
  
  
  
  ...
  
  ...
  
  

  
  <>
  
  ...
  
  ...
  
  

推荐阅读
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • MyBatis错题分析解析及注意事项
    本文对MyBatis的错题进行了分析和解析,同时介绍了使用MyBatis时需要注意的一些事项,如resultMap的使用、SqlSession和SqlSessionFactory的获取方式、动态SQL中的else元素和when元素的使用、resource属性和url属性的配置方式、typeAliases的使用方法等。同时还指出了在属性名与查询字段名不一致时需要使用resultMap进行结果映射,而不能使用resultType。 ... [详细]
author-avatar
芬妮Iris_150
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有