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

ProFTPd服务器配置允许上传但无法删除的权限

常见的特殊的需求:对于FTP服务器上的某个部门的目录,要求:部门所有人员可以上传下载但无法删除(包括文件和目录)部门领导全部权限(包括删除)用redhat自带的vsftp实现起来比较困难,google了以后发现proftpd实现起来比较简单例如:客服部部门成员member,

常见的特殊的需求:

对于FTP服务器上的某个部门的目录,要求:

部门所有人员可以上传下载但无法删除(包括文件和目录)
部门领导全部权限(包括删除)
用redhat自带的vsftp实现起来比较困难,google了以后发现proftpd实现起来比较简单
例如:
客服部
部门成员member,可以上传下载,但是无法删
部门主管manager,有全部权限

下载安装:
因为是CENTOS,直接下载rpm安装
wget http://packages.sw.be/proftpd/proftpd-1.3.2-1.el5.rf.i386.rpm
安装之后
主目录在/var/ftp
配置文件为 /etc/proftpd.conf
服务名为 proftpd
直接启动服务的情况是:
系统用户直接登录,且被chroot在"家目录"下
匿名用户无法登陆
设计实施:
部门的目录放在/var/ftp/kefu(客服部),部门人员登录后被chroot在此目录下
目录的所有者是主管manager
目录的所有组是kefu
目录权限为770(只有此部门的人员才可以进此目录)
设置如下:
/var/ftp下的kefu目录
drwxrwx--- 2 manager kefu 4096 Mar  3 13:11 kefu
/etc/passwd文件的设置(将他们的主目录设为/var/ftp/kefu,shell改为/sbin/nologin不允许ssh)
manager:x:501:502::/var/ftp/kefu:/sbin/nologin
member:x:502:503::/var/ftp/kefu:/sbin/nologin
新建kefu组,member是组员
配置文件proftpd.conf

 对这个目录进行限制 

  umask 000 

   

        DenyGroup kefu 

   

 


解释:


umask 000 

此目录下所有用户上传的掩码都是000,这样新文件权限是666,新文件夹是777,这样做是为了保证member传的文件,其他人也可以删,默认掩码是022 

 

    DenyGroup kefu 

此目录下对于DELE(删除文件)RMD(删除目录)操作加以限制,对kefu组是拒绝,也就保证了kefu组成员无法执行删除操作.如果需要对单个用户(例如member)限制就用 DenyUser member 

其实就是无法执行(DELE ,RMD)这两个ftp指令 

 
整个思路:
通过系统权限来允许所有的文件都可以对任何人读写(就是非创建者也可以删)
通过限制FTP指令的执行来限制特定的用户(组)无法执行删除
总的来说就是利用两个层面的限制实现对权限”先放,后收”


推荐阅读
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • 从零开始构建完整手机站:Vue CLI 3 实战指南(第一部分)
    本系列教程将引导您使用 Vue CLI 3 构建一个功能齐全的移动应用。我们将深入探讨项目中涉及的每一个知识点,并确保这些内容与实际工作中的需求紧密结合。 ... [详细]
  • 本文介绍如何通过SSH协议使用Xshell远程连接到Ubuntu系统。为了实现这一目标,需要确保Ubuntu系统已安装并配置好SSH服务器,并保证网络连通性。 ... [详细]
  • 深入解析 Spring Security 用户认证机制
    本文将详细介绍 Spring Security 中用户登录认证的核心流程,重点分析 AbstractAuthenticationProcessingFilter 和 AuthenticationManager 的工作原理。通过理解这些组件的实现,读者可以更好地掌握 Spring Security 的认证机制。 ... [详细]
  • CentOS系统安装与配置常见问题及解决方案
    本文详细介绍了在CentOS系统安装过程中遇到的常见问题及其解决方案,包括Vi编辑器的操作、图形界面的安装、网络连接故障排除等。通过本文,读者可以更好地理解和解决这些常见问题。 ... [详细]
  • Git管理工具SourceTree安装与使用指南
    本文详细介绍了Git管理工具SourceTree的安装、配置及团队协作方案,旨在帮助开发者更高效地进行版本控制和项目管理。 ... [详细]
  • 本文探讨了在 OpenStack 环境中使用虚拟机部署 Ceph 集群后,外部服务器通过浮动 IP 无法访问该集群的问题,并提供了详细的解决方案。 ... [详细]
  • 本文详细介绍了如何通过RPM包在Linux系统(如CentOS)上安装MySQL 5.6。涵盖了检查现有安装、下载和安装RPM包、配置MySQL以及设置远程访问和开机自启动等步骤。 ... [详细]
  • 阿里云ecs怎么配置php环境,阿里云ecs配置选择 ... [详细]
author-avatar
叶小丹丶丶01_520
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有