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の2番目の列にある各単語で構成されるユーザーのリストが出力されます(このファイルには1行しかなく、2番目の単語にはファイルが必要なユーザーが含まれている可能性があります)が所有している)
そのリストが何であるかを正確に確認したい場合は、コマンドラインから次のコマンドを実行します。
cat /etc/trueuserdomains | awk '{print $2}'
次に、for i部分は、$iをcat/ etc /trueuserdomains|から収集された単語に置き換える2つのchownコマンドを実行します。awk'{print$2}'コマンド。
最初のchownコマンドは、すべてのファイルとディレクトリの所有者とグループを、cat / etc /trueuserdomains|にあるものに変更します。awk'{print$2}'コマンド。
次に、2番目のchownコマンドは、public_htmlのグループをに設定しますnobody。これは、ホストマシンでユーザーアカウントが割り当てられていない可能性が高いグループです。
これで、Webサーバーファイルのアクセス許可が整理されますが、あなたが言うように、問題の根本的な原因は完全には説明されていません。
根本的な問題を解決するには、次のことをお知らせください。
どのようにファイルをサーバーにアップロードしますか?ツールの名前は何ですか?ファイルをアップロードするときに、上記のコマンドを実行する前に所有者とグループの権限のサンプルを提供できますか?