Wu-ftpd 内置了虚拟化支持。但是,你无法为每个域维护单独的密码文件。例如,如果 bob@domain1.com
和 bob@domain2.com
都想要一个账户,你必须将其中一个命名为 bob2,或者让其中一个用户选择不同的用户名。既然你现在为每个域都有一个虚拟文件系统,你就有了单独的密码文件,这个问题就消失了。按照上面提到的方式创建 virtnewuser 脚本和 virtpasswd 脚本,你就一切就绪了。
wu-ftpd 的 inetd.conf 条目
ftp stream tcp nowait root /usr/local/bin/virtuald \ virtuald /virtual/conf.ftp wu.ftpd -l -a
这些不受 virtuald 设置的影响。对于匿名用户,只需像往常一样在 /virtual/domain1.com/etc/passwd 中创建 FTP 用户。
ftp:x:14:50:Anonymous FTP:/var/ftp:/bin/false
然后设置匿名 FTP 目录。你为每个域都有单独的密码文件,因此你可以限制哪个域拥有匿名 FTP 账户。请注意,由于 FTP 服务器已经 chrooted
到 /virtual/domain1.com 目录中,你无需在任何路径前加上前缀。
Wu-ftpd 支持一种叫做访客组的功能。这允许你为每个用户创建不同的 FTP 区域。FTP 服务器会对指定区域执行 chroot
操作,因此用户无法访问该目录树之外的内容。如果你以这种方式在虚拟域中创建用户,他们将无法查看系统文件。
将访客组添加到 /virtual/domain1.com/etc/ftpaccess 文件中。
在 /virtual/domain1.com/etc/passwd 中创建一个条目,其中 chroot
目录和起始主目录用 /./
分隔。
guest1:x:8500:51:Guest FTP:/home/g/guest1/./incoming:/bin/false
然后像设置匿名 FTP 一样设置访客主目录。你为每个域都有单独的密码文件,因此你可以指定哪些域拥有访客账户,以及域中的哪些用户是访客用户。请注意,由于 FTP 服务器已经 chrooted
到 /virtual/domain1.com 目录中,你无需在任何路径前加上前缀。