博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

浪客の驿

我将于茫茫人海中访我唯一灵魂之伴侣。 得之,我幸; 不得,我命。
  conanyoung.cublog.cn

关于作者
姓名:木易青青
职业:还没开始工作
年龄:22

|| << >> ||
我的分类


Solaris10的Proftpd安装配置笔记
  上个星期装上的配置好,首先感谢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






发表于: 2007-12-03,修改于: 2007-12-03 19:59,已浏览322次,有评论0条 推荐 投诉


网友评论
 发表评论