我在我的网站上有一些目录,我想可以匿名ftp用户访问,但他们不应该是可见的。 所以我不希望他们在input“ls”或“dir”时出现,但我希望用户能够键入“cd secret_dir”。
我希望这样做
ServerName "ProFTPD Default Installation" ServerType standalone DefaultServer on Port 21 Umask 022 MaxInstances 30 # Set the user and group under which the server will run. User nobody Group nogroup RequireValidShell off # Normally, we want files to be overwriteable. <Directory /> AllowOverwrite on </Directory> <Anonymous /home/ftp/my.site.org> User ftp Group planonline UserAlias anonymous ftp MaxClients 10 DisplayLogin welcome.msg DisplayChdir .message # So users can't do ls in the directory <Limit ALL> DenyAll </Limit> # All have access to this directory, for testing permissions <Directory "/home/ftp/my.site.org/uuid-files/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000"> <Limit ALL> AllowAll </Limit> </Directory> # I want this to work but it doesn't <Directory "/home/ftp/my.site.org/uuid-files/[0-9a-f]"> <Limit ALL> AllowAll </Limit> </Directory> </Anonymous>
用户ftp和组planonline拥有这些文件。 我不能更改任何这些权限,因为它们将被另一个创build目录的应用程序所设置。 目录的权限如下所示:
sskanberg@ubuntu-develop:/home/ftp$ ls -l total 8 -rwxr--r-- 1 ftp planonline 4 2011-11-14 13:15 ftpdir.txt drwxrwxr-- 3 ftp planonline 4096 2011-11-14 13:08 my.site.org
所以我的问题是:如何在我的目录标记中使用正则expression式? 或者,我怎样才能以其他方式实现我的愿望:让ftp用户无法看到目录,但是仍然可以向他们发送消息?
你有没有尝试过使用HideFiles
? 我猜想它应该像这样使用:
<Directory "/home/ftp/my.site.org/uuid-files"> HideFiles ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$ <Limit ALL> AllowAll IgnoreHidden on </Limit> </Directory>