Apacheサーバー設定の問題

Apacheサーバー設定の問題

AWSのRedHat 7イメージにApacheをインストールして設定しました。ただし、filezillaを使用してSSH経由でファイルをアップロードすると、権限/所有権の問題が発生します。

SSHユーザーを設定し、そのホームディレクトリをapache /var/www/html/に追加し、ここにMagentoをインストールしました。

元の設定:

  1. ユーザー:/var/www/html/groupはApacheです。
  2. user:root/group:apache for /var/lib/php/session dir (わかりませんが、magentoがセッションファイルをそこに保存し、所有者が変更されると書き込みエラーが発生するようです)
  3. httpd.confユーザー:グループはApacheです。
  4. これらの設定では、ftpまたはsftpを使用してファイルをアップロードできません。 - 権限エラーです。

私が次に変更した場合:

  1. ユーザー:グループ/var/www/html/はssh_userです。
  2. ユーザー: ssh_user / グループ: ssh_user for /var/lib/php/session dir
  3. httpd.confユーザー:グループはssh_userです。
  4. これでアップロードは可能ですが、キャッシュファイルはルートとして生成されます。

私が望むもの:

  1. ユーザー:グループ/var/www/html/はssh_userです。
  2. /var/lib/php/session ディレクトリのデフォルト設定
  3. httpd.confユーザー:グループはApacheです。

一般ユーザーがftpまたはsftpを介してファイルをアップロードできることを願っています。

この目標をどのように達成しますか?私はApacheを初めて設定するので、正しく実行する方法を学びようとしています。

ベストアンサー1

すべてのディレクトリとファイルに書き込むことができるWebサーバーUIDを必要とするすべてのWebアプリケーションは、設計上破損し安全ではありません。このような人生を受け入れる意志があれば...

  1. 各アカウントを含む新しいグループを提供するしなければならない文書作成可能 - 説明のためにWebアーティストと呼びます。

  2. このグループにこれらのユーザーを追加します。デフォルトグループである必要はありません(usermod -G webwriters ssh_user; usermod -G webwriters apache; ....)。

  3. 範囲内の各最上位ディレクトリで次のコマンドを実行します。

chown -R apache:webwriters $DIR
find $DIR -type f -exec chmod g+rw {} \;
find $DIR -type d -exec chmod g+rws {} \;

これで、このグループはすべてのファイルとディレクトリに書き込むことができます。そして、新しいファイルを作成すると、そのファイルはWebライターグループの所有になります。

  1. /etc/ssh/sshd_configを編集してsftpserverに追加し、-u 002sshdを再起動します。これにより、sftpを介してコピーされた新しいファイルをこのグループに書き込むことができます。 FTPを使用しないでください。 scpを使用するには、シェルのrcファイルにumaskを設定する必要があります。

  2. /etc/systemd/system/httpd.service.dに新しいディレクトリを作成し(まだ存在しない場合)、ファイルを追加します。必要に応じて名前を付けることができます。

[Service]
UMask=0002

その後、Apacheを再起動します。これにより、Webサーバーによって生成されたファイルにも予想される所有権/権限が付与されます。

最後に、最も重要なのは、HIDS(L5、LIDS、Tripwire)をインストールして管理方法を学ぶことです。 Fail2banをインストールし、ログイン試行率に制限を追加します。

おすすめ記事