我已设置 ProFTPD,以便可以远程将新的 php 文件等上传到我服务器上的 htdocs。这些都很好,但我想将“nobody”(无写入权限,仅可读取/下载)用户关押到子目录 (htdocs/ftp) 中,这样任何用户都无法读取我的 mySQL 连接脚本,这些脚本位于 htdocs 文件夹中。我不想将 DefaultRoot 设置为 /ftp,因为这样我就无法使用 FTP 修改站点,除非有办法允许我返回上一级。(为了方便起见,我们叫我管理员吧)
这不是一个生产环境,更像是一个内联网,但是,嘿,我不希望它像那样不安全。
答案1
第二个论点DefaultRoot 配置选项是一组组。将您希望能够“修改网站”的用户集合放在一个组中,然后将该组的 DefaultRoot 设置为/
(或其他),然后让另一个默认的 DefaultRoot 指向/ftp
。或者您可以反过来做。无论什么对您来说最有意义。
答案2
感谢您的帮助 - 这对我来说很有效。请注意,我还使用了:
<Directory /www/htdocs>
<Limit READ RMD DELE MKD STOR DELE XMKD RNEF RNTO RMD XRMD>
AllowUser X
DenyAll
</Limit>
</Directory>
这基本上阻止了(我认为)在我受保护的目录中发生的所有事情。