现在的位置: 首页 > 综合 > 正文

Linux服务器应用学习1-ftp服务

2014年02月23日 ⁄ 综合 ⁄ 共 1912字 ⁄ 字号 评论关闭

几篇相关参考资料:
ProFtpd快速指南
proftpd faq
proftpd学习笔记(极力推荐)

proftpd重启:
装了proftpd,设置/etc/proftpd.conf后发现改动无效,ms需要重启proftpd。去88问了得知关闭命令为 "/etc/init.d/proftpd stop",再启动就ok了。另外还有ftpshut命令,这个命令可以在不停止proftpd进程的前提下,定时停止ftp连接。其实ftpshut就是产生/etc/shutmsg ,你只要删除这个文件ftp又可以重新服务,或者直接"ftpshut -R"。
附ftpshut说明:

ftpshut [ -l min ] [ -d min ] time [ warning-message ... ]
-l min: 在ftp关闭服务之前的几分钟内,尝试建立新的ftp连接均不被接受
-d min: 在ftp关闭服务之前的几分钟内,已经建立的ftp连接将被中止
time: 在多少时间后,服务器将关闭ftp服务,格式有两种
+number 经过number分钟后关闭
MMHH 在今天MM:HH服务器将关闭

注意,这里我们用这个命令是把ftp服务给停了,但实际的proftpd进程还没停止,所以一般调试ftp会使用到这个命令。
举例: ftpshut -l 20 -d 10 +30 "FTP Server Will shutdown at time"
再经过30分钟后,FTP服务将关闭,在这之前的20分钟不可接受任何新的ftp连接,已经建立的在服务关闭前10分钟强制断线,并在客户端显示"FTP Server Will shutdown at time"

如何匿名登录:
查看proftp配置文件/usr/local/etc/proftpd.conf(Debian下为/etc/proftpd.conf),修改为
(这里/home/ftp可以是任何希望匿名用户登录以后的当前根目录,但是确保要使该目录允许ftp用户访问),并且若部分的User指令指定的用户为ftp用户,则需要在配置文件中添加如下命令指示: "RequireValidShell off"

通过指令DefaultRoot来实现将用户限定在某个目录之下:
DefaultRoot ~ ftpusers (主目录)
也可以限制用户登录以后仅仅访问自己主目录下的一个子目录: DefaultRoot ~/anoftp ftpusers
当然也可以将用户限制在其他目录之下,而不是自己的home目录下: DefaultRoot /tmp ftpusers
也可以限定一个用户组的某些用户被限制,而其他不作限制: DefaultRoot ~ ftpusers,!empolyee
这个指令指示仅仅限制ftpusers组中的不是empolyee组的用户进行限制。

如何登录时不会显示版本信息:
可以使用下面两种方法之一:
ServerIdent On "My FTP Server"或者ServerIdent Off
如果有虚拟主机的也要对每个站点进行这样的设置。

如何实现磁盘配额:
首先编译的时候指定--with-modules的时候要包含mod_quota。
然后在配置文件中使用:
Quotas on
QuotaCalc on
DefaultQuota 8000
QuotaBlockSize 1024
QuotaBlockName kb
就可以实现磁盘限额。其中DefaultQuota说明用户只能用8000个block,而QuotaBlockSize则指明每个block大小是1024byte也就是1k。QuotaBlockName只在提示中出现,告诉用户block的单位。

如何使得proftpd能显示以"."号开头的文件
在配置文件中设置:"ShowDotFiles on"这样就能通过ls看见以"."号开头的文件

如何限制某个用户的同时连接数:
Proftpd 1.2.7rc1以后提供了一个新参数-MaxClientsPerUser。在配置文件中添加下列参数:
MaxClientsPerUser 5
这样就能限制每个用户只能同时有5个连接,使用例如flashget等下载工具的时候就最多只能分成5块下载。


如何提供续传功能:

如果要支持下载续传,那么必须指定:AllowRetrieveRestart on
如果要支持上传续传,那么必须指定:AllowOverwrite on          AllowStoreRestart on
必须同时指定AllowOverwrite和AllowStoreRestart的原因是由于重新上传或者续传也是属于覆盖文件。
同时记得不要同时使用HiddenStor和AllowStoreRestart。


如何取消匿名登录:

只要取消配置文件里面关于的小节就行。

抱歉!评论已关闭.