Webサーバーが作成できるApacheグループを確認するにはどうすればよいですか?


13

Wordpressを機能させようとしています。現在、次のエラーメッセージが表示されます。

Could not create directory. /var/www/html/wp-content/upgrade/theme_name

テーマをアップロードしようとしたとき。これは、に設定された権限です/var/www/html/wp-content/upgrade/

drwxrwxr-x 3 ec2-user apache 4096 Jun 21 00:30 upgrade

chmod 777 upgradeエラーがなくなります。しかし、それはベストプラクティスとは見なされません。しかし、私はこれもうまくいくはずだと思う...なぜですか?

上記のアクセス許可ではWebサーバーが含まれていない可能性があります。Webサーバーに書き込みを許可するには、どのグループを使用すればよいですか?

(私のセットアップはAmazon EC2、httpdを使用したAmazon Linux AMIです)

回答:


16

Amazon EC2については何も知りませんが、次のことができるはずです。

  1. 次のようなコマンドを使用して、Apacheを実行しているユーザーの名前を取得します。

    ps aux | grep apache # The username should be in the first column.
    
  2. groups(1)次のコマンドを使用して、このユーザーが属しているグループを取得します。

    groups [USERNAME]
    

最初の列はapacheで、グループapacheはapacheを返します:apache。最初のコマンドの行は次のようになります。apache 11171 0.0 3.4 39984 21516?S

1
ユーザーapacheには、ディレクトリに書き込む権限が明らかにあります。あなたchmod 777は問題を解決すると言うので、テーマをアップロードするのに別のユーザーを使用していると思います。私はWordpressをよく知らない。この回答によると所有権をuserに変更してみてくださいwww-data
ラーム

記事とすべてを調べてくれてありがとう。WordpressはFTPを使用して作業を行っていたことがわかったため、実際には別のユーザーでした。以下で提案されていることでそのユーザーを見つけ、ステップ1で見つけたグループApacheを追加しました。それで解決しました。


1

chmod 777アップグレードにより、エラーはなくなります。

まあ、その場合ls -ld /var/www/html/wp-content/upgrade/theme_nameは、作成者の資格情報を明らかにする必要があります。これは、正確なアクセス許可に使用できます。

少なくともファイルの所有者のみがリンクを解除できることを保証するため、1777(に関しては/tmp)を使用する方が適切です。


1
エラーを解消してください!問題解決への興味深いアプローチ。これは解決策ではなく、嘘です。
イハロブ

原作者のテキストを引用して、「嘘」とは何ですか?:)または少なくとも777ではなく1777を使用することを提案しますか?:)または作成者の所有権を見つけて、それを「正確なアクセス許可」に使用しますか?
-poige

777私の知っている文脈では正しくないので、それはシステムへの嘘です。
イハロブ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.