上个星期装上的配置好,首先感谢CU的FTP版的精华区,我的资料基本上从那里得到。
安装配置proftpd我推荐使用源码安装,这样可以把编码转换补丁给加载进去,我是直接到sunsoftware上下载sun软件包安装的,现在编码的问题还是没有解决。
需要准备的文件:proftpd源码和proftpd-1.2.10.tar.bz2
下载地址:http://home.h01.itscom.net/para/software/misc/proftpd-iconv/pack/proftpd-1.2.10-iconv.patch.gz
模块加载方法:
1.放在同一个文件夹下
tar jxvf proftpd-1.2.10.tar.bz2
解压缩
gzip -cd proftpd-1.2.10-iconv.patch.gz |patch -p0
patch动作
2.在configure时加入"--with-modules=mod_codeconv:mod_df"
make
make install
3.在proftpd.conf设定如下编码模式
CharsetLocal UTF-8
CharsetRemote GB2312
如此proftpd就支持iconv
local端设定为UTF-8
在remote端则是GB2312编码,这样就不会在windows端产生乱码了。
嗯,这个函数模块是日本人写的,什么时候我们国人也自己写上一个!!
接下来的事就是配置profptd.conf文件了,和apache的配置文件语法完全相同:
这里我首先给出一些常用的配置语法和选项:
对一个文件夹操作:
<Directory 文件夹>
对文件夹的操作权限设定
</Directory>
最有用的设定是Limit
<Limit 限制动作>
对谁起作用
</Limit>
常用的设定参数有:
CMD:Change Working Directory 改变目录
MKD:MaKe Directory 建立目录的权限
RNFR: ReName FRom 更改目录名的权限
DELE:DELEte 删除文件的权限
RMD:ReMove Directory 删除目录的权限
RETR:RETRieve 从服务端下载到客户端的权限
STOR:STORe 从客户端上传到服务端的权限
READ:可读的权限,不包括列目录的权限,相当于RETR,STAT等
WRITE:写文件或者目录的权限,包括MKD和RMD
DIRS:是否允许列目录,相当于LIST,NLST等权限,还是比较实用的
ALL:所有权限
LOGIN:是否允许登陆的权限
常用的应用对象:
AllowUser 针对某个用户允许的Limit
DenyUser 针对某个用户禁止的Limit
AllowGroup 针对某个用户组允许的Limit
DenyGroup 针对某个用户组禁止的Limit
AllowAll 针对所有用户组允许的Limit
DenyAll 针对所有用户禁止的Limit
用户可以根据自己的需求进行组合使用。
此外常用的一些参数设置有:
#限制传输速率:
TransferRate STOR|RETR 速度(Kbytes/s) user 使用者
MaxHostsPerUser 1 "对不起,每个帐户最多允许来源ip为1个"
#MaxHostsPerUser 对防止ftp帐号还是比较有用的。
MaxClientsPerUser 1 "对不起,每个帐户在每个客户端最多可以同时登陆1次"
MaxClientsPerHost 1 "对不起,同一个客户端只能最多1个帐号可以登陆"
TimeoutIdle 600
#客户端idel时间设置,默认就是600秒
DisplayLogin welcome.msg
#设置ftp登陆欢迎信息文件
具体的一些常用配置见后面的一个实例配置文件:
如我想创建一个账号ftpuser,要求其对自己文件夹可访问,上传,下载,
但不能删除已存在文件和重名名文、件文件夹
另一个账号ftpadmin,用于管理user的文件夹
两个账号都属于组ftpusers
这种方法适合用ftp方式管理文件,是我自己想出来的哦
首先创建组:
#groupadd ftpusers
创建用户:
#useradd -d /export/fptfiles/ftpuser -g ftpusers -s /bin/false ftpuser
#useradd -d /export/fptfiles -g ftpusers -s /bin/false ftpadmin
#chown -R ftpuser:ftpusers /export/fptfiles/ftpuser
#chmod -R 775 /export/fptfiles/ftpuser
#chown -R ftpadmin:ftpusers /export/fptfiles
#chmod -R 775 /export/fptfiles
相应的配置文件如下:
这里我去掉了匿名访问,然后一些常用的设置在这里给出
ServerName "你的服务器名称"
ServerType standalone
DefaultServer on
#不允许显示server的版本信息
ServerIdent off
# FPT端口
Port 21
# 系统反掩码,默认是022
Umask 002
# 设置系统日志文件
SystemLog /var/log/proftpd.log
#设置最大在线人数
MaxInstances 30
#防止DNS反查
UseReverseDNS off
IdentLookups off
# 限制最大的客户端主机
#MaxClientsPerHost 2
#限制最大客户端数
MaxClients 20
#限定最小登陆间隔(秒)
MaxLoginAttempts 5
# 设置进程属主.
User nobody
Group nobody
#将登陆用户限制在自己的家目录内
DefaultRoot ~
#设定是否决定记录日志
WtmpLog on
#设定无操作等待时间
TimeoutIdle 300
#允许断点下载
AllowRetrieveRestart on
#允许断点上传
AllowStoreRestart on
# 允许FXP
AllowForeignAddress on
PassivePorts 60000 61000
# Bar use of SITE CHMOD by default
<Limit SITE_CHMOD>
DenyAll
</Limit>
<Limit LOGIN>
AllowGroup ftpusers
</Limit>
<Directory />
AllowOverwrite on
<Limit CMD READ DIRS>
AllowAll
</Limit>
<Limit RNFR DELE RMD>
DenyUser ftpuser
</Limit>
</Directory>
<Directory /export/ftpfiles/users>
AllowOverwrite off
<Limit CMD READ DIRS>
AllowAll
</Limit>
<Limit RNFR DELE RMD>
DenyUser ftpuser
</Limit>
</Directory>
简单方便,运行
只是现在我的FXP还没有成功,等设置成功后添加
这里我是直接运行的程序,其实还应该添加一个启动脚本来作为启动和关闭,这个在后面完善。
参考链接:http://www.chinaunix.net/jh/15/247811.html