addr:http://hi.baidu.com/mkwade/blog/item/56f59f096fea6338e82488d3.html
Wu-FTP /etc/ftpaccess的配置
/etc/ftpaccess是FTP服务器上最重要的配置文件,它主要控制FTP存取权限,直接关系到FTP服务器能否正常工作,还有其他许多权限上的设置.下面是一个典型的配置实例.
loginfails 3
class local real *
class remote anonymous guest *
limit remote 100 Any /etc/ftpd/toomany.msg
message /etc/ftpd/welcome.msg login
compress yes local remote
passwd-check rfc822 warn
log commands real
log transfer anonymous guest inbound outbound
log transfer real inbound
shutdown /etc/ftpd/shut.msg
delete no anonymous,guest
overwright no anonymous,guest
rename no anonymous
chmod no anonymous,guest
umask no anonymous
upload /home/ftpd * no
upload /home/ftpd /bin no
upload /home/ftpd /etc no
upload /home/ftpd /pub yes real 0644 dirs
upload /home/ftpd /incoming yes real guest anonymous 0644 dirs
alails in/incoming
email [email protected]
email [email protected]
deny *.com.tw /etc/ftpd/deny.msg
下面逐条进行讲解,并给出每条设置的含义:
$ 登陆重试次数
格式:loginfails[次数]
功能:设置当用户登录到FTP服务器时,允许用户输入错误密码的次数.
实例:”loginfails 3”:密码输入错误3次就切断连接.
$ 定义用户类别
格式:class [类名][real/guest/anonymous][IP地址]
功能:这个指令用于设置FTP服务器上用户的类别.并可对客户端的IP地址进行限制,允许某部分的IP地址或全部的IP地址访问.而在FTP服务器上的用户基本上可以分为以下3类:
(1) real在该FTP服务器有合法帐号的用户
(2) guest有记录的匿名用户
(3) anonymous权限最低的匿名用户
实例:class local real *:定义一个名为local的类,它包括在任何地方登录(*代表所有IP地址)的real用户.
Class remote anonymous guest *:定义一个名为remote的类,它包括在任何地方登录的anonymous用户和guest用户.
$ 登录人数的限制
格式:limit[类别][人数][时间][文件名]
功能:这个指令的功能是设置指定时间内指定的类别允许连接的人数上限.当达到人数上限的时候,显示指定文件的内容。
实例:limit remote 100 Any/etc/ftpd/toomany.msg:在任何时间内,remote类的访问用户达到100人时,将不再允许或产生新的连接。当第101位客户要连接时,连接将失败,并向用户出示文件/etc/ftpd/welcome.msg的内容。
$ 用户登录时显示的文件
格式:message [文件名称][指令]
功能:当用户执行制定的指令时,系统将指定的文件内容显示出来。
实例:message/etc/ftpd/welcome.msg login:当用户执行login命令时,他就是登录到FTP服务器上的时候,系统将显示文件/etc/ftpd/welcome.msg的内容。
$ 压缩功能
格式:compress [yes/no][类别]
功能:设置某个类别的用户可以使用compress(压缩)功能。
实例:compress yes local remote:允许local和remote两类用户都能使用compress(压缩)功能。
$ 归档功能
格式tar:[yes/no][类别]
功能:设置某个类别的用户可以使用tar(归档)功能
实例:tar yes local remote:允许local和remote两类用户都能使用tar功能。
$ 是否支持群组
格式:private[yes/no]
功能:设置是否支持群组对文件的群取用。
实例:private yes:支持群组对文件的取用。
$ 匿名用户密码检查
格式:passwd-check [none/trivial/rfc822][enforce/warn]
功能:设置匿名用户anonymous的密码使用方式。
none:表示不做密码验证,任何密码都可以登录。
trivial:表示只要输入的密码中含有字符“@”都可以登录;
rfc822:表示密码一定要符合RFC822中所规定的E-Mail地址才能登录;
enforce:表示输入的密码不符合以上指定的格式就不允许登录;
warn:表示密码不符合规定时只出现警告信息,任然能够登录。
实例:passwd-check rfc822 warn:希望能够得到符合规定的E-Mail作为密码,但如果不是也允许登录。
$ 操作日志
格式:log command[real/guest/anonymous]
功能:设置某些用户登录后的操作记录在文件/usr/adm/xferlog中。
实例:log command real:当real用户登录后,将其操作记录下来。由于其他用户权限较低,所以操作不会引起太大的安全隐患,所以一般只需记下real用户的操作就可以了。
$ 文件传送日志
格式:log transfer[real/guest/anonymous][inbound][outbound]
功能:设置某些用户的上载(inbound)和下载(outbound)操作日志。
实例:log transfer anonymous guest inbound outbound:对于匿名用户要更加关注它们的文件操作,所以无论上载、下载都进行记录。
log transfer real inbound:对于合法用户则只记录他的上载记录。
$ FTP服务器关闭设置文件
格式:shutdown[文件名]
功能:FTP服务器关闭的时间可以设置在后面所指定的文件中,当设置的时间一到,便无法登录FTP服务器了,要恢复的话只能将这个文件删掉。而这个文件必须由指令/bin/ftpshut来生成。
实例:shutdown/ etc/ftpd/shut.Msg
$ 删除文件权限设置
格式:delete[yes/no][real/anonymous/guest]
功能:设置是否允许指定用户使用delete命令删除文件。默认是允许。
实例:delete no anonymous,guest:为了更好的管理FTP服务器,一般情况下,我们不允许匿名用户执行delete命令。
$ 覆盖文件权限设置
格式:overwrite[yes/no][real/anonymous/guest]
功能:设置是否允许指定用户覆盖同名文件。默认是允许。
实例:overwrite no anonymous,guest:为了更好的管理FTP服务器,一般情况下,我们不允许匿名用户覆盖同名文件。
$ 文件改名权限设置
格式:rename[yes/no][real/anonymous/guest]
功能:设置是否允许指定用户使用rename命令来为文件改名。默认是允许。
实例:rename no anonymous:为了更好的管理FTP服务器,一般情况下,我们不允许匿名用户执行rename命令改变文件名。而对有记录的匿名用户则适当的放宽,允许他们使用改名命令。
$ chmod命令权限设置
格式:chmod[yes/no][real/anonymous/guest]
功能:设置是否允许指定用户使用chmod命令来更改文件权限。默认是允许。
实例:chmod no anonymous,guest:为了更好的管理FTP服务器,一般情况下,我们不允许匿名用户执行chmod命令更改文件权限。
$ umask命令权限
格式:umask[yes/no][real/anonymous/guest]
功能:设置是否允许指定用户使用umask命令。默认是允许。
实例:umask no anonymous:为了更好的管理FTP服务器,一般情况下,我们不允许匿名用户执行umask命令。
$ 用户上载目录
格式:upload[根目录][上载目录][yes/no][用户][权限][dirs/nodirs]
功能:对可以上载的目录进行更加详细的设置。
实例:upload/home/ftpd * no:表示在子目录/home/ftpd下不允许上载;
upload/home/ftpd/bin no:表示在子目录/home/ftpd/bin下不允许上载;
upload/home/ftpd/etc no:表示在子目录/home/ftpd/etc下不允许上载;
upload/home/ftpd/pub yes real 0644 dirs:允许服务器上的合法用户在子目录/home/ftpd/pub下能上载权限为0644(也就是-rw-r--r--)的文件,而且在这个目录下可以新建子目录。
upload/home/ftpd/incoming yes real guest 0644 dirs:允许所有的用户在子目录/home/ftpd/incoming下能上载权限为0644的文件,而且在这个目录下可以新建子目录。
$ 虚拟目录
格式:alias[目录别名][目录名]
功能:为指定目录设置一个别名,在切换目录时就可以使用较短的目录别名。
实例:alias inc:/incoming:为子目录incoming设置一个别名inc。
$ 管理员的E-mail地址
格式:email[guest的E-Mail地址]
功能:只要在此设置系统管理员的E-Mail地址,FTP服务器有问题或任何信息都要通知系统管理员。
实例:email root@localhost:这里仅是一个示例,实际上可以包含多个符合规范的E-Mail地址。
$ 访问权限
格式:deny [IP地址/域名][说明文件]
功能:这个设置可以限制某些IP地址或域名的用户无法登入FTP服务器。
实例:deny *.com.tw/etc/ftpd/deny.msg:设置凡是以“.com.tw”结束的域名,都禁止其访问。而将/etc/ftpd/deny.msg的内容显示给用户看。