Apacheは無効なユーザーを使用します。

Apacheは無効なユーザーを使用します。

何らかの理由でWebサイトにアップロードすると、Apacheはファイルをuserwww-dataとgroupのwww-data代わりにusermyusernameとgroupとして保存しますwww-data

どうすれば解決できますか?

答え1

Apacheはファイルを実行しているユーザーなので、ファイルをwww-dataとして保存します。セキュリティ上の理由

あなたができることは、サイトの特定のユーザーとグループを作成し、mod-ruid2を使用してそのユーザーを使用するように仮想ホストを構成することです。

インストール方法:

sudo apt-get install libapache2-mod-ruid2

仮想ホストで構成します。

    <Directory "/var/www/mydir">
            RMode config
            RUidGid my_new_user my_new_group

各仮想ホストには異なるユーザーがいる可能性があります。これは、複数の仮想ホストサーバー(複数のユーザーを持つマルチホスト構成など)で役立つか、仮想ホストがスパムを送信しているかどうかを判断するのに役立ちます。

https://www.jamroom.net/brian/documentation/guides/1202/configuring-apache-with-mod-ruid2

ファイルの所有権については、読んでください。

仮想ホストのディレクトリでsetuidまたはSetGidディレクトリを使用してそれらを設定することもできます。通常のユーザーとして保持し、そのグループに属するすべてのファイルは、通常のユーザーではなく、そのグループまたはユーザーに強制的に割り当てられます。グループ。

ユーザーの所有権を強制するには、次の手順に従います。

chown my_new_user.my_new_group /var/www/mydir

ディレクトリのUID設定

chmod u+s /var/www/mydir 

ディレクトリのGID設定

chmod u+g /var/www/mydir

http://www.toptip.ca/2010/03/linux-setgid-on-directory.html

答え2

Userどこで使用しても、設定でさまざまな設定を指定できる必要があります。

例:

<VirtualHost 12.34.56.78>
  User myusername
</VirtualHost>

答え3

私は解決策を見つけました。どちらが一番良いのかはわかりませんが、これが私がやったことでうまくいくようです。

sudo nano /etc/apache2/envvars

次の行を編集します。

export APACHE_RUN_USER=myusername

関連情報