我的网站位于共享主机上。我一直在使用FTP和PHP文件管理器来上传和删除文件。最近我发现了一个由于权限而无法删除的文件,无论是在PHPFM还是在FTP中。所以我使用DirectAdmin(我的计划的唯一选项)来重置所有权限。然后我将public_html和子文件夹中的所有文件的所有权限设置为777递归。我只知道它允许我做的比任何其他许可变体更多。
现在网站以静态方式运行,我可以打开PHP文件管理器,它无权上传文件。但是,我可以在DirectAdmin上传文件,但这感觉不安全。 PHP文件管理器读取:'I / O错误'。目录看起来像这样:
1422和1420是什么意思?如何重新上传文件?谢谢你的帮助。
答案 0 :(得分:1)
1422是文件所属的user_id,1420是它所属的group_id。
Linux拥有权限系统,您可以在其中为所有者,您的群组和其他所有人授予特殊权限。
权限777表示每个人都可以读/写/执行,您的组(1420)可以读/写/执行,而您(用户1422)可以读/写/执行该文件。
Permissions:
1 is execute file or open directory
2 is write
4 is read
读/写权限是2 + 4 = 6,读/执行(或打开目录)是1 + 4 = 5
这三个数字代表[所有者] [群组] [所有人],因此将文件设置为644意味着用户可以读/写,其他人只需读取文件。
编辑:安全的做法是将所有文件设置为644,将目录设置为755.私有文件应为600,可执行文件为755(PHP文件不可执行)。
Apache以用户apache或httpd运行,这是另一个用户,因此你必须给每个人"读取PHP文件和目录的权限。
Edit2:如果您需要PHP上传文件,那么它实际上是以用户apache / httpd完成的。因此,您需要为每个人提供完全的权限。打开目录并读/写777.文件权限应为666。