/etc/ftpaccess是ftpd的设置文件,也就是作为设置ftpd操作方式的一个文件。其功能比较复杂,这里只就文件上传设定的方式作个说明。
[语法] upload [absolute|relative] [class=]... [-]
[""dirs""|""nodirs""] []
[说明] 定义这个目录是允许或拒绝上传。假如允许上传的话,则所有的文件是及所拥有,而且其文件权限是。
例如:
upload /var/ftp * no
upload /var/ftp /incoming yes ftp daemon 0666
upload /var/ftp /incoming/gifs yes jlc guest 0600 nodirs
上面的设置只允许文件上传到/incoming及/incomeing/gifs这二个目录,被上传到/incoming的文件其所有权将是ftp/daemon,而其权限是0666;被上传到/incoming/gifs的文件,其所有权将是jlc/guest,而其权限是0600。注意是指ftp目录;必须跟系统密码文件内 (/etc/passwd) 的使用者目录一致。
此外,dirs及nodirs这二个选项可有可无。这二个选项是指:允许(dirs)或不允许(nodirs)使用mkdir这个指令来产生新的子目录。
注意,假如不指明的话,「产生新的子目录」这个权限是默认是被允许的。
这个选项决定新产生子目录的权限。假如被省略,则目录权限将会是;若是也没有的话,则新产生子目录的权限将是777。
注意,上传这个功能只对""用户主目录"" (或使用者的根目录?) 在底下的使用者有效。假如把设为""*""的话,则不受此限制。更进一步说明,就是指chroot()这个指令的输入参数。 及也可以设定成""*""。在这个情况下,任何上传的文件及新产生子目录的所有权将被设置成与其所在的上层目录所有权一致。
[absolute|relative]
这个选项可有可无。这个选项定义这个目录将被解释为绝对路径 (absolute),或是目前chroot环境的相对路径 (relative)。预设是绝对路径 (absolute)。
[class=]
这个选项可有可无。这个选项限制可使用上传设定列 (upload clause) 的使用者范围。也就是说,这个上传设定列只对哪些使用者有效?假如使用这个选项的话,除非使用者是指定小组中 (class,暂译""小组"") 的成员,否则这个上传设定列将无效。
这个选项一定要有。yes是指允许上传,反之则禁止