Proftpd FTP服务器配置
操作系统 Ubuntu 12.04 64bit server LTS
方案一: 本地文件方式认证
1、安装软件包
apt-getinstall proftpd proftpd-doc proftpd-mod-mysql
ProftpdFTP服务器的配置类似apache配置文件风格,配置文件为/etc/proftpd/proftpd.conf
2、建立ftpuser用户,用于虚拟用户登录系统的身份
useraddftpuser
3、建立主FTP目录
mkdir-p /var/ftpdir
chownftpuser.ftpuser /var/ftpdir
chmod755 /var/ftpdir
4、建立虚拟用户
ftpasswd--passwd --file=/etc/proftpd/passwd/ftpd.passwd --name=test--uid=1001 --gid=1001 --home=/var/ftpdir/beijing/--shell=/usr/sbin/nologin
5、修改配置文件
DefaultRoot ~ 默认登录到用户的家目录
UseEncodingUTF-8 GBK 防止IE、资源管理器文件乱码神器
AllowRetrieveRestarton 下载续传
AllowStoreRestarton 上传续传
RequireValidShell off 不要求有合法的shell
PathDenyFilter\.exe$ 限制上传的文件格式
PS:proftpd中Limit的使用介绍
我们用到的比较多的可能是Limit的使用,Limit大致有以下动作,基本能覆盖全部的权限了。
CMD:ChangeWorking Directory 改变目录
MKD:MaKeDirectory 建立目录的权限
RNFR:ReNameFRom 更改目录名的权限
DELE:DELEte删除文件的权限
RMD:ReMoveDirectory 删除目录的权限
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
关于限制速率的参数为:
TransferRateSTOR|RETR 速度(Kbytes/s)user使用者
方案二:MYSQL数据库方式认证