![设置通过 FTP 上传到目录的文件的默认权限](https://linux22.com/image/529014/%E8%AE%BE%E7%BD%AE%E9%80%9A%E8%BF%87%20FTP%20%E4%B8%8A%E4%BC%A0%E5%88%B0%E7%9B%AE%E5%BD%95%E7%9A%84%E6%96%87%E4%BB%B6%E7%9A%84%E9%BB%98%E8%AE%A4%E6%9D%83%E9%99%90.png)
免责声明:我只是一名网页设计师/程序员,服务器管理是我最薄弱的方面。所以请对我宽容一点(而且要非常具体)。
我在网站上使用一个简单的 CMS (Unify),其部分功能是客户端可以将文件上传到指定目录(使用 FTP)。上传目录的权限设置为 755。但是当通过界面上传文件时,它们的权限设置为 640(而不是 644),因此网站访问者无法访问这些文件。
当我向 CMS 支持人员发送电子邮件询问此事时,他们告诉我这是一个服务器设置,我需要确保通过 FTP 上传的文件设置为 644。这很有道理,但我不知道该怎么做。任何帮助都将不胜感激。
此站点是由 Network Solutions (Unix) 托管的共享站点,因此我的访问选项有限。我可以编辑 .htaccess 文件和 php.ini,但我只能访问这些。看来我甚至无法通过 shell 登录。
预计到达时间:2010 年 11 月 11 日 谢谢大家。我可以通过以不同的方式设置 CMS 的设置来解决此问题。我有兴趣跟进 Nick O'Niel 的建议,因为我认为他走在正确的道路上,但不幸的是我无法访问此特定服务器上的必要文件。所以,无论如何,我将这个问题留待解决,因为原始问题尚未完全解决。不幸的是,我可能无法对测试给出正确的答案,因为有问题的共享服务器几乎所有的配置文件都被严格锁定了。
答案1
使用允许您控制上传文件权限设置的 FTP 客户端。好的 FTP 客户端将允许您查看文件权限设置,并对上传的文件执行相当于chmod +r
(打开所有读取权限)的操作。
我取得了巨大的成功Filezilla 客户端和温SCP,尽管后者仅适用于 Windows。
如果您可以控制 FTP 服务器的配置,则可能可以强制将上传文件的文件权限设置为所需状态。如果不知道所使用的特定 FTP 服务器软件,就很难再说什么了。
答案2
这听起来像是 ftp 服务器本身的权限设置问题。查看 /etc/ 中是否有一个名为 proftpd.conf 的配置文件。它也可能位于 /usr/local/etc/proftpd.conf 中。如果您编辑此文件并将 umask 设置更改为 022