proftpd 配置可以上传,但无法删除的特殊权限

简介:

常见的特殊的需求:
对于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

 

 
  1. <Directory /var/ftp/kefu> 对这个目录进行限制  
  2.  umask 000  
  3.   <Limit DELE RMD>  
  4.        DenyGroup kefu  
  5.   </Limit>  
  6. </Directory>   

 

解释:

 
  1.  umask 000 
  2.  此目录下所有用户上传的掩码都是000,这样新文件权限是666,新文件夹是777,这样做是为了保证member传的文件,其他人也可以删,默认掩码是022 
  3.   
  4. <Limit DELE RMD> 
  5.     DenyGroup kefu 
  6. 此目录下对于DELE(删除文件)RMD(删除目录)操作加以限制,对kefu组是拒绝,也就保证了kefu组成员无法执行删除操作.如果需要对单个用户(例如member)限制就用 DenyUser member 
  7.  其实就是无法执行(DELE ,RMD)这两个ftp指令  



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



本文转自yahoon 51CTO博客,原文链接:http://blog.51cto.com/yahoon/506633,如需转载请自行联系原作者

相关文章
|
运维 Linux 数据安全/隐私保护
linux配置SVN,添加用户,配置用户组的各个权限教程
linux配置SVN,添加用户,配置用户组的各个权限教程
|
7月前
chmod 更改文件或目录权限
【1月更文挑战第2天】
93 0
|
Linux 数据库 数据安全/隐私保护
5.2.3目录与文件之权限意义
5.2.3目录与文件之权限意义
81 0
|
Linux
一切配置正确,无法访问samba共享目录,提示没有权限的一个案例
一切配置正确,无法访问samba共享目录,提示没有权限的一个案例
1549 0
Confluence 连接到一 LDAP 目录,权限对本地用户组设置为只读
  https://www.cwiki.us/display/CONFLUENCEWIKI/Connecting+to+an+LDAP+Directory
1036 0
|
PHP Apache JavaScript
|
测试技术 数据库 数据安全/隐私保护