Linux 版 (精华区)
发信人: Kermit (Kermit), 信区: Linux
标 题: proftp架设个人FTP实例(zz)
发信站: BBS 哈工大紫丁香站 (Wed Feb 9 10:31:31 2005)
http://218.94.36.113/vd748508/bbscon?board=LinuxUnix&file=M.1107540771.A&num=1
0035
从开始使用Linux起,就一直想建立一个个人ftp服务器,折腾了N
多次,终于今天有了个雏型。关于具体的命令设置可以在很多站点
和帖子上有,这里想写的是这次建立的FTP服务的经过和我的配置。
平台是Debian,ftp server软件是proftp。
我的ftp目录结构如下:
/home/ftp/
|___
| [incoming]
|___
[Pub]
|___
| [.....]
|___
[Skating]
|___
| [...]
|___
[incoming]
基本设置:
所有用户被限制在自己的根目录。
限制5个连接,每个IP限制一个连接。
用户及权限设置:
anonymous:
根目录:/home/ftp/
~ 允许下载,禁止上传
~/incoming 允许上传,禁止下载
上传速率:300kB/s
下载速率:300kB/s
skating:
根目录:/home/ftp/Pub/Skating
~ 允许下载,禁止上传
incoming目录不允许下载
下载速率:600kB/s
upskate
根目录:/home/ftp/Pub/Skating/incoming
~ 允许上传,禁止下载
下载速率:800kB/s
-----------------------------------------------
anonymous用户使用proftp的默认设置,只是添加了
对下载速率的限制。
-----------------------------------------------
anonymous:
在<Anonymous>内部限制,结构为:
<Anonymous ~>
User ftp
Group nogroup
UserAlias anonymous ftp
........
# 设置最大连接数
# 相同用户最大连接数
# 每个IP最大连接数
MaxClients 5
MaxClientsPerUser 5
MaxClientsPerHost 1
# 下载速率
# 上传速率
TransferRate RETR 300
TransferRate STOR 300
........
# 用<Limit>设置目录权限,对所有用户禁止写操作
<Directory *>
<Limit WRITE>
DenyAll
</Limit>
</Directory>
# 对incoming目录禁止读写,但允许上传
<Directory incoming>
Umask 022 022
<Limit READ WRITE>
DenyAll
</Limit>
<Limit STOR>
AllowAll
</Limit>
</Directory>
</Anonymous>
------------------------------------------------
对skating和upskate用户配置之前,要作一些
准备工作:
一、建立skating用户组,建立skating, upskate用户
>groupadd skating
>useradd -d /home/ftp/Pub/Skating -g skating -s /bin/fales skating
>useradd -d /home/ftp/Pub/Skating/incoming -g skating -s /bin/fales upskate
~~ ~~ ~~
指定目录 用户组 启动shell
二、将/bin/fales设定为允许的登录脚本
>echo /bin/fales >> /etc/shells
三、设置权限
主要是对上载下传速率进行设置。在出了Anonymous的全局范围进行定义。
下面的配置除了对上载下传配置,还有一些有用的配置,列出的是与默认
配置不同或没有的:
# 设定发呆时间等
TimeoutNoTransfer 600
TimeoutIdle 600
TimeoutStalled 600
# 允许续传(上传,下载)
AllowRetrieveRestart on
AllowStoreRestart on
# 屏蔽服务器信息
ServerIdent off
# 限制在用户根目录
DefaultRoot ~
# 设置相应用户的传送速率
TransferRate RETR 600 user skating
TransferRate STOR 800 user upskate
# 对特定用户目录进行限制
# 对skating的目录禁止写操作
<Directory /home/ftp/Pub/Skating>
Umask 022 022
<Limit WRITE>
DenyAll
</Limit>
</Directory>
# 对Skating/incoming目录只允许upskate用户写
# 并且禁止下载
<Directory /home/ftp/Pub/Skating/incoming>
Umask 022 022
<Limit WRITE>
AllowUser upskate
</Limit>
<Limit RETR>
DenyAll
</Limit>
</Directory>
----------------------------------------------------
小结:
看似配置文件很复杂,其实主要用到的内容很少:
1. TransferRate等配置命令,常用的基本上在默认配置中就有,
只要作一些调整,或者到网上找详细的。
2. <Anonymous> ... </Anonymous>
对匿名用户配置,一般用户没有特定环境,主要对相应目录进行配置。
3. <Directory pathname> ... </Directory>
对目录进行配置,具体权限用<Limit xxx> ... </Limit>限制
4. <Limit xxx> XXX </Limit>
其中,xxx代表相应权限,具体意义如下,以供参考:
CMD Change Working Directory 改变工作目录
MKD Make Direcrory 创建目录
RNFR ReName FRom 改名
DELE DELEte 删除
RMD ReMove Directory 删除目录
RETR RETR 从服务器获得数据
STOR STORe 保存数据到服务器
READ 可读权限,但不包括列目录
WRITE 写文件或者目录
DIRS 列目录
ALL 所有权限
LOGIN 登录权限
XXX表示操作对象。针对用户和用户组,有下列:
AllowUser 针对某用户允许
DenyUser 针对某用户禁止
AllowGroup 针对某用户组允许
DenyGroup 针对某用户组禁止
AllowAll 针对所有用户组允许
DenyAll 针对所有用户禁止
--
※ 来源:·哈工大紫丁香 http://bbs.hit.edu.cn·[FROM: 219.232.57.*]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.873毫秒