一、Proftpd的主配置文件 /etc/proftpd.conf 的全文及解释
ServerName "MY REDHAT LINUX FTP" #设定FTP服务器的名称。
ServerIdent off #不显示FTP服务器版本信息,以增强安全性。
ServerType standalone #设置FTP服务器以Standalone模式运行,而不是以dameon模式运行。
ServerAdmin root@localhost #服务器管理员的MAIL
DefaultServer on #默认FTP服务器工作。
DeferWelcome off
DefaultRoot ~ !adm #设置ftpusers组只能访问自己的目录,也可以限制用户登录以后仅仅访问自己主目录下的一个子目录:DefaultRoot ~/anoftp ftpusers ,当然也可以将用户限制在其他目录之下,而不是自己的home目录下:DefaultRoot /tmp ftpusers
也可以限定一个用户组的某些用户被限制,而其他不作限制:
DefaultRoot ~ ftpusers,!empolyee这个指令指示仅仅限制ftpusers组中的不是empolyee组的用户进行限制。
AuthPAMAuthoritative on
IdentLookups off
UseReverseDNS off #防止proftpd进行DNS反查以及对用户端进行ident确认,以缩短连接到proftpd服务的时间。
Port 21 #FTP服务默认使用的端口。
Umask 022 #默认。
ListOptions "-a" #服务器列表选项
AuthPAMAuthoritative on
RootLogin off #root用户不能登陆FTP
LoginPasswordPrompt on
MaxLoginAttempts 3 #最大登陆尝试为3次
MaxClientsPerHost 1 #个IP只允许一个连接,默认是none
AllowForeignAddress off #要想proftpd支持FXP功能,请设置为on,这个参数可以放在全局段,或者虚拟ftp段,如果你要使匿名用户支持FXP,则需要把这个参数放在Anonymous段。
AllowRetrieveRestart on
AllowStoreRestart on #设置服务器支持断点续传
MaxInstances 20 #当以standalone方式启动FTP服务器时,可用此处设定最多允许同时执行的子程序数目。若为了防止Dos(Denial-of-Service)的攻击,可将此值设低一点。
User nobody
Group nobody #设定执行FTP服务的用户帐号及工作组,默认值均为“nobody”。若要更改此处设定,需先确认系统已有此帐号及工作组,否则ProFTP将无法正常运作。
AllowOverwrite yes
AllowAll
下面这段是虚拟FTP服务器的设置:
ServerName "HaHa FTP SRV"
Port 2121
DefaultRoot /home/samba/public haha
下面一段就是匿名服务的设置:
User ftp #匿名登录使用ftp用户
Group ftp #匿名登录使用ftp组
UserAlias anonymous ftp #设定登入帐号的别名,将登入的anonymous帐号转换为实际存在的ftp帐号,即可用anonymous方式登入。
MaxClients 10 #最多10个匿名用户同时在线
DisplayLogin welcome.msg #登录FTP显示的欢迎信息,放在FTP的根目录下。
DisplayFirstChdir .message #切换目录时的信息,设定当第一次切换到新目录时,所要显示的信息文件。
DenyAll #设定写入权限,默认值将禁止所有匿名登入的用户执行写入动作。而若允许用户写入,则可使用设定值:AllowAll
我们用到的比较多的可能是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:是否允许登陆的权限
针对上面这个Limit所应用的对象,又包括以下范围:
AllowUser 针对某个用户允许的Limit
DenyUser 针对某个用户禁止的Limit
AllowGroup 针对某个用户组允许的Limit
DenyGroup 针对某个用户组禁止的Limit
AllowAll 针对所有用户组允许的Limit
DenyAll 针对所有用户禁止的Limit
2.配置欢迎信息
修改proftpd配置文件
vim /usr/local/ftp/etc/proftpd.conf
DisplayLogin /usr/local/ftp/etc/welcome.msg #修改
新建文件
vim /usr/local/ftp/etc/welcome.msg
Welcome to %U, this is the test FTP server for Frank;
Time is: %T;
This server allows up to%M user connections at most;
At present, there are%N user connections on the server.
At present, your directory is%C;
The hard disk in the directory is left with %F bytes.
欢迎信息设置ftp登陆欢迎信息文件,关于欢迎文件的设置包含如下参数:%T 目前的时间
%F 所在硬盘剩下的容量
%C 目前所在的目录
%R Client 端的主机名称
%L Server 端的主机名称
%U 使用者帐户名称
%M 最大允许连接人数
%N 目前的服务器连接人数
%E FTP服务器管理员的 email
%i 本次上传的文件数量
%o 本次下载的文件数量
%t 本次上传+下载的文件数量
网友评论