Proftpd的权限控制:ProFTPD是为了建立一个安全且易于设定的FTP Server。ProFTPD不是完全独立而完整、重新改写的FTP Server。那么Proftpd是怎样进行权限控制的呢?
代码:
--------------------------------------------------------------------------------
#在/usr/local/music这个目录中的权限设置
denygroup pubfxp
#上面的内容限制pubfxp这个组删除目录(RMD),删除文件(DEL),和执行chmod命令(SITE_CHMOD)
denyuser onlyup
#上面的内容限制onlyup这个用户,删除目录(RMD),删除文件(DEL),和执行chmod命令(SITE_CHMOD),上传(STOR),建目录(MKD),下载(RETR),重命名(RNTO)
denygroup read
#上面的内容限制read这个组,删除目录(RMD),重命名(RNTO),建目录(MKD),删除文件(DEL),和执行chmod命令(SITE_CHMOD)
#在/usr/local/music/80g_2/incoming中的权限设置
allowuser onlyup
#上面的内容允许onlyup这个用户,建立目录(MKD),上传(STOR)
#对"~/xishare/" ,除ftpuser1能上传外,其他用户只能下载。符合“~”表示用户的home目录。
DenyAll
AllowOverwrite on
AllowRetrieveRestart on
AllowStoreRestart on
DenyUser !ftpuser1
AllowStoreRestart on
#对"~/pub/" 可以(覆盖)上传、下载、创建目录,不能删除
DenyAll
AllowOverwrite on
AllowRetrieveRestart on
AllowStoreRestart on
#不允许Root用户访问ftp
RootLogin off
#设置如果shell为空时允许用户登录:
RequireValidShell off
#限制每个FTP用户在自己的目录下,不可查看上一级目录
DefaultRoot ~
AllowRetrieveRestart on #下载时,允许断点续传
AllowStoreRestart on #上传时,允许断点续传
ServerIdent off #屏蔽服务器版本信息
#最大尝试连接次数
MaxLoginAttempts 8
#日志文件位置
SystemLog /var/log/proftpd.log
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.
- 61.
- 62.
- 63.
- 64.
- 65.
- 66.
- 67.
- 68.
- 69.
- 70.
--------------------------------------------------------------------------------
ok来看看我为什么这样设置...
第一步..我先设置整个music目录的权限.禁止了onlyup这个用户在music目录的所有权限...
pubfxp这个组只有写,重命名,而没有删除的权限,read这个组只有读的权限..
第二步..我在80g_2/incoming中允许onlyup有写的权限...这个会覆盖掉music目录中对应的权限设置..但是其他没有说明的权限还是被禁止的..
这样就用很少的控制码达到权限控制的目的了..:)
proftpd的组设置功能非常好用...我通过mysql来做验证的...
只要在mysql的语句部分加一句
SQLGroupInfo groups groupname gid members
具体的组的内容是这样的范例..:)
PHP 代码:
--------------------------------------------------------------------------------
groupname gid members
read 99 ndvip,zg,HYD,ronor
- 1.
- 2.
- 3.
- 4.
--------------------------------------------------------------------------------
mysql的支持文档:http://www.castaglia.org/proftpd/doc...HOWTO-SQL.html
这里注意一下组的gid最好用一个系统存在的组..否则权限比较莫名的出错..偶在这里卡了一天时间...
另..调试proftpd的利器...在conf文件中加入
SQLLogFile /var/log/proftpd_sql_log
然后就是分析log了
【编辑推荐】