linux - 将新文件上传到服务器时出现 500 内部错误

标签 linux apache cpanel whm

我刚刚切换到一个新的服务器主机 (VPS),并将我的所有文件都转移了过来。我注意到没有任何工作,一切都在抛出 500 内部错误。

然后我通过命令行运行它,它运行良好

 for i in `cat /etc/trueuserdomains | awk '{print $2}'`; do chown $i.$i /home/$i/public_html -R; chown $i.nobody /home/$i/public_html; done

我不太确定它的作用,但我认为它会更改脚本的所有者。无论如何,在过去的一周里,每当我上传一个尚未在服务器上的新脚本时,它都会给我同样的 500 错误,我必须再次运行该脚本。有什么办法可以防止这种情况发生吗?

最佳答案

for i in `cat /etc/trueuserdomains | awk '{print $2}'`; 
do 
  chown $i.$i /home/$i/public_html -R; 
  chown $i.nobody /home/$i/public_html; 
done

分解以上代码说明

cat /etc/trueuserdomains | awk '{print $2}'

这将打印出由文件/etc/trueuserdomains 第二列中的每个词组成的用户列表(此文件中可能只有一行,其中第二个词包含用户文件应归属于)

如果您想准确查看该列表的内容,请从命令行运行以下命令。

cat /etc/trueuserdomains | awk '{print $2}'

然后 for i 部分执行两个 chown 命令,用从 cat/etc/trueuserdomains | 中收集的单词替换 $i awk '{print $2}' 命令。

第一个 chown 命令将每个文件和目录的所有者和组更改为在 cat/etc/trueuserdomains | awk '{print $2}' 命令。

然后,第二个 chown 命令将 public_html 上的组设置为 nobody,该组可能在主机上没有分配给它的用户帐户。

这样就解决了您的 Web 服务器文件中的权限问题,但正如您所说,并没有完全描述问题的根本原因。

要解决根本问题,请告诉我们以下信息。

如何上传文件到服务器?工具的名称是什么?当您上传文件时,您能否提供他们在运行上述命令之前拥有的所有者和组权限的示例?

关于linux - 将新文件上传到服务器时出现 500 内部错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5289563/

相关文章:

c - 有没有工具可以获取有关 ELF .on 或可执行文件中特定符号的信息?

apache - Tomcat 远程地址过滤器不起作用

linux - 如何通过ftp在远程之间传输文件?

linux - 有没有 `ssh-add` Linux alpine one liner

linux - 在 Ubuntu 中使用 QSerialport 时出现问题

apache - 在 Apache 运行时 APR 中限制文件夹访问

apache - mod_jk 负载均衡器后面的双 Tomcat

linux - WHM/Cpanel 的最佳免费替代品

json - 错误: SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data cpanel backup restore

c - 如何在从多个目录/文件编译内核模块时创建新目录并将 .o 文件移动到其中