2011-03-13 84 views
2

我剛切換到新的服務器主機(VPS),並且我將所有文件都轉移過來。我注意到沒有任何東西在工作,所有東西都拋出了500內部錯誤。將新文件上傳到服務器時發生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錯誤,我必須再次運行腳本。有什麼辦法可以防止這種情況發生?

回答

1
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}' 

然後爲我部分執行兩個指令CHOWN從貓的/ etc/trueuserdomains收集的單詞置換爲$ I | awk'{print $ 2}'命令。

第一個chown命令將每個文件和目錄的所有者和組更改爲在/ etc/trueuserdomains中找到的所有者和組。 awk'{print $ 2}'命令。

第二chown命令然後設置在的public_html組是nobody,即可能具有分配給它的主機上沒有用戶帳戶的基團。

這樣挑選出的權限在Web服務器上的文件,但是,像你說的,並不完全描述你的問題的根本原因。

要解決潛在的問題,請讓我們瞭解以下內容。

你如何將文件上傳到服務器?這個工具的名字是什麼?當您上傳文件時,您是否可以提供運行上述命令之前所擁有的所有者和組權限的示例?

相關問題