message
“message”设置当用户登录或转到一个目录的时候会收到什么消息。可以设定多个消息。命令的格式为:
message <path> <when>
<path>表示需要显示的文件的完整路径名,<when>和“readme”中的<when>意思一样。
还需要注意的是消息文件的路径名也是相对于匿名ftp目录的。
例如:
message /home/ftp/.welcome.msg LOGIN
compress、tar、chmod、delete、overwrite、rename
如果这些都不设置,那么就使用默认值,也就是对所有人都是“yes”。下面例子中的设置的意思是给guest组chmod、delete、overwrite和rename文件的权力,所有人都可以使用compress和tar。
例如:
compress yes all
tar yes all
chmod yes guest
delete yes guest
overwrite yes guest
rename yes guest
log commands
因为安全上的原因需要记录用户使用的每一个命令。“log commands”的格式是:
log commands <typelist>
<typelist>是用逗号隔开的字串,表示哪些用户的命令需要记录下来,字串的取值可以是:anonymous、guest或real。
例如:要记录real和guest用户的每一个命令,可以这么表示:
log commands real,guest
这些记录都保存在“/var/log/message”文件中。
log transfers
因为安全文件需要把文件的传输都记录下来。“log transfers”的格式是:
log transfers <typelist> <directions>
<typelist>是用逗号隔开的字串,表示哪些用户的命令需要记录下来,字串的取值可以是:anonymous、guest或real。<direction>也是用逗号隔开的字串,设置需要记录的文件传输的方向,可以选择的两个传输方向是“inbound”(向内)和“outbound”(向外)。
例如,用下面表示记录所有real和guest用户的“inbound”和“outbound”方向的文件传输:
log transfers real,guest inbound,outbound
这些记录保存在“/var/log/xferlog”文件中。
guestgroup
这个命令用来设置guest组,每一行只能有一个成员。
例如:
guestgroup ftpadmin
guestgroup webmaster
log security
用来设置记录real、guest或anonymous用户违反安全规则的行为。
log security <typelist>
<typelist>是用逗号隔开的字串,字串的取值可以是:anonymous、guest或real。“real”表示真正在ftp服务器上有帐号的用户,“anonymous”表示匿名用户,“guest”表示guest用户。
例如:
log security real,guest
restricted-uid、restricted-gid、guest-root
这些用来设置是否允许real和guest用户访问家目录之外的目录。格式为:
guest-root <root-dir>
restricted-uid <uid-range>
restricted-gid <gid-range>
例如:
guest-root /home/ftp ftpadmin webmaster
restricted-uid ftpadmin webmaster
restricted-gid adminftp webmaster
<root-dir>设置chroot环境的用户路径。在一行里可以有多个uid地范围。如果为用户设置了guest-root,那么该用户的家目录就在“<root-dir>/etc/passwd”文件中设定,而“/etc/passwd”文件中的设定是无效的。当“ftpadmin”和“webmaster”被改变了根目录(chrooted)到“/home/ftp”目录下,他们就被限制在各自的家目录下而不能访问别人的文件。
greeting
设置用户登录时候的欢迎信息。格式为:
greeting full|brief|terse
“greeting full”是默认的设置显示主机名和ftp daemon地版本,“greeting brief”显示主机名,“greeting terse”简单地显示“FTP server ready”。
例如:
greeting terse
keepalive <yes|no>
设置socket的TCP SO_KEEPALIVE参数。这样在必要的时候可以断开网络连接。“yes”有效,“no”无效。最好设成“yes”:
Keepalive yes