通常说来允许匿名用户登录ftp服务器并使用相对更安全,而更一般的,希望匿名用户只能读取某一个目录下对的文件。例如希望能匿名用户只能读取/home/ftp目录下的文件。对应proftpd的配置
# 省略其他配置
# 限制home目录下其他文件或目录除去改变目录的所有权限
<Directory /home/*>
<Limit ALL>
DenyAll
</Limit>
<Limit CWD>
AllowAll
</Limit>
</Directory>
# 允许查看/home/ftp目录和目录下的文件并允许下载
<Directory /home/ftp>
<Limit LIST NLST READ>
AllowAll
</Limit>
</Directory>
要注意三点[1]
上面的配置顺序不能随便更换,proftpd读取
<Directory>
配置项时存在顺序问题,后面的匹配配置会覆盖前面的匹配配置<Directory>
配置中有不有通配符含义比较特殊,如果没有通配符,表示对目录和目录下的文件都起作用;如果没有通配符,只会对目录下的文件起作用匿名用户登录时也会对应一个系统账号,一般情况下是ftp账号。以ftp账号为例,/home/ftp目录需要对ftp账号有读取权限,否则匿名用户还是无法下载/home/ftp目录下的文件,爆没有权限的错误