何らかの理由で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
答え2
User
どこで使用しても、設定でさまざまな設定を指定できる必要があります。
例:
<VirtualHost 12.34.56.78>
User myusername
</VirtualHost>
答え3
私は解決策を見つけました。どちらが一番良いのかはわかりませんが、これが私がやったことでうまくいくようです。
sudo nano /etc/apache2/envvars
次の行を編集します。
export APACHE_RUN_USER=myusername