如何在Apache服务器上为用户创建仅阅读的FTP访问?
题
我有一个带有大量摄影的网站。为了允许访问者下载照片组而无需单独保存每个照片,我想创建一个 只读FTP用户 这将是公开的。
通过主机的控制面板,我可以创建“常规” FTP用户帐户,但是它们具有写入访问权限,这是不可接受的。
因为有 在同一服务器上托管的几个域和子域 我不想使用匿名FTP-只读的FTP帐户应该是 仅限于特定目录/子目录.
如果可能的话,我也想知道如何 排除特定目录 从只读的FTP访问中,我授予了这个新用户。
我已经在服务器上全面浏览,以查找用户帐户信息的存储位置无济于事。特别是我在httpd.conf中查看,发现 loadModule proxy_ftp_module模块/mod_proxy_ftp.so, ,但我不知道该如何使用它(或者是否相关)。
解决方案
似乎您使用FTP的原因是让人们一次下载许多照片。您也可以使用标准的Apache HTTP访问控制也可以将链接发送到ZIP文件。这样,您提到的是人们删除或覆盖文件的特定风险可以使用普通的HTTP消除。
您可以制作一个目录以提供zip文件的索引以下载
<Directory /var/www/photos/>
Order allow,deny
Allow from all
Options Indexes
</Directory>
并将标准权限应用于您的其他目录
# your file system is off limits
<Directory />
Options None
AllowOverride None
Order deny,allow
Deny from all
</Directory>
DocumentRoot /var/www/
# the rest of your content.
<Directory /var/www/>
<LimitExcept GET POST>
deny from all
</LimitExcept>
Order allow,deny
Allow from all
Options None
</Directory>
不隶属于 StackOverflow