ftp

一个proftpd权限配置问题 html

 

最近有人问我关于proftpd的权限配置问题,因为不熟悉proftpd,因此没有当即解决。后来找时间研究了一下,获得了解决方法,现共享出来。 ide

 

1、权限需求描述 操作系统

 

每一个部门有本身的文件夹,只有本部门经理、本部门员工和总经理访问,而且全部用户都能上传和下载文件,但只有部门经理和总经理有删除权限。(大体是这样的一个要求) 设计

 

实现过程以下:  htm

2、proftpd安装 文档

 

1.操做系统环境:   RHEL5.4 2.proftpd版本 :  1.3.0 3.安装过程 源码

   #tar  proftpd-1.3.0.tar.bz2    #cd proftpd-1.3.0  #./configure –prefix=/usr/local/proftpd    #make it

   #make install  io

3、建立ftp目录、用户、组,并分配权限 class

 

1. 建立所需目录   #mkdir  -p  /ftpdata/pub 

这个目录是全部本地用户登陆的根目录   #mkdir  /ftpdata/pub/jsb 

这个目录是技术部的目录,只容许技术部和总经理访问  

   #mkdir  /ftpdata/pub/cwb 

这个目录是财务部目录,只容许财务部和总经理访问  

我就以这两个部门为例,配置proftpd的朋友,能够根据本身公司的实际状况作一些调整。下面建立用户和组 

 



           

 



 

2. 建立用户和组  

#groupadd  jsb 建立技术部组 #groupadd  cwb 建立财务部组  

  #useradd –G jsb,cwb  zjl 

建立总经理使用的帐号,同时加入技术部组和财务部组   #useradd  -G  jsb  jsjl 

建立技术部经理帐号,加入技术部组   #useradd   -G  jsb  jsyg1 

建立技术部员工1帐号,加入技术部组   #useradd  -G  jsb  jsyg2 

建立技术部员工2帐号,加入技术部组  

  #useradd  –G  cwb  cwjl 

建立财务部经理帐号,加入财务部组   #useradd  –G  cwb  cwyg1 

建立财务部员工1帐号,加入财务部组   #useradd  –G  cwb  cwyg2 

建立财务部员工2帐号,加入财务部组  

#echo 123 | passwd zjl –stdin  

#echo 123 | passwd jsjl --stdin #echo 123 | passwd jsyg1 --stdin #echo 123 | passwd jsyg2 –stdin  

#echo 123 | passwd cwjl --stdin #echo 123 | passwd cwyg1 --stdin #echo 123 | passwd cwyg2 –stdin  

我把这7个用户的密码都设置为123   

3.设置目录属主、属组和权限  

   #chown  zjl    /ftpdata/pub 

  总经理对这个目录有写权限(只有总经理能够在这个目录建立新目录)     

   #chown  jsjl:jsb   /ftpdata/pub/jsb    #chmod  770   /ftpdata/pub/jsb 




 



   #chmod  g+s   /ftpdata/pub/jsb    把/ftpdata/pub/jsb的属主改成jsjl,属组改成jsb,属主和属组有读写执行权限,其余用户没有权限,全部在这个目录及子目录里建立的文件,属组都为jsb  

   #chown  cwjl:cwb   /ftpdata/pub/cwb    #chmod  770   /ftpdata/pub/cwb    #chmod  g+s   /ftpdata/pub/cwb 

  把/ftpdata/pub/cwb的属主改成cwjl,属组改成cwb,属主和属组有读写执行权限,其余用户没有权限,全部在这个目录建立的文件,属组都为cwb  

4、修改proftpd配置文件,并启动服务 

 

  #vi  /usr/local/proftpd/etc/proftpd.conf  

把“#DefaultRoot ~” 改成“DefaultRoot /ftpdata/pub”,即打开注释,并把登陆位置改成/ftpdata/pub  

把“Umask 022”改成“Umask 007”,即上传的文件,属主和属组有所有权限,其余用户没有权限  

添加以下配置 

<Directory /ftpdata/pub/jsb>         <Limit DELE> 

                AllowUser jsjl                 AllowUser zjl                 DenyALL         </Limit> </Directory> 

<Directory /ftpdata/pub/cwb>         <Limit DELE>         AllowUser cwjl         AllowUser zjl         DenyAll         </Limit> </Directory>  

注释了从<Anonymous  ~ftp> 至 </Anonymous>全部行,意思是禁止匿名用户登陆。  

 其余配置没有改动,最终proftpd配置清单以下:  

ServerName                      "ProFTPD Default Installation" ServerType                      standalone 




 



DefaultServer                   on Port                            21 Umask                           007 MaxInstances                    30 

User                            nobody Group                           nobody DefaultRoot /data/pub 

AllowOverwrite          on <Directory /ftpdata/pub/jsb>         <Limit DELE> 

                AllowUser jsjl                 AllowUser zjl                 DenyALL         </Limit> </Directory> 

<Directory /ftpdata/pub/cwb>         <Limit DELE>         AllowUser cwjl         AllowUser zjl         DenyAll         </Limit> </Directory> 

<Limit SITE_CHMOD>   DenyAll </Limit>  

启动proftpd服务 

#/usr/local/proftpd/sbin/proftpd  

5、验证 

 

分别使用zjl,jsjl,jsyg1,cwjl,cwyg1登陆验证,权限符合设计的要注。  

6、结束 

 

因为这篇文档写的比较仓促,没有认真思考文档格式和语言的组织。若是给你的阅读带来不适,敬请谅解。 

 

参考的文档:源码目录/doc/howto/Directory.html     源码目录/doc/howto/Limit.html

相关文章
相关标签/搜索
本站公众号
   欢迎关注本站公众号,获取更多信息