私はこれまで権限に苦労してきましたが、別の質問を投稿しましたが、まだ修正する方法がなく、問題が何であるかを特定しました。
私のセットアップ:
- LAMPスタックを備えたUbuntuデスクトップ
- 5「ユーザー」ubuntuサーバーで作成し、
sudo useradd -r -s /bin/false USERNAME
ローカルネットワーク共有フォルダーへのアクセスに使用するユーザーを作成しました。つまり、ネットワーク上のコンピューターがSambaを使用して共有する/ var / wwwフォルダーに接続します。 - 編集:目的は、ローカルネットワーク内のすべてのコンピューターが同じWebサイトでローカルに動作できる「マスターlocalhost」のようなものを作成することです(静的IPアドレスがないため、サーバーには他の場所からアクセスできません) 。
私の問題:
現在/var/www/html
、ネットワークの任意のコンピューターを使用して新しいフォルダーを作成すると(例:フォルダー/ var / www / html / testsite1を作成)、このフォルダーは自動的に所有されますboris:www-data
(「boris」は、ubuntuデスクトップインストールのメイン管理ユーザーです) 、ls -l
新しく作成されたフォルダで実行すると実際にboris:www-data が表示されます)、これは現在のセットアップで問題を引き起こしています(主にLifeInTheGridでWordpressのDuplicatorプラグインを使用)。ただし、私/var/www
と私の両方/var/www/html
が所有していますwww-data:www-data
したがって、私はどのようにできるのか知りたいです:
/ var / wwwおよび/ var / www / htmlの下のすべてのファイルおよびディレクトリの所有権をwww-data:www-dataに変更します
ネットワークのユーザーで作成するファイルまたはフォルダーがwww-data:www-dataによって自動的に所有されることを確認します(これには、Duplicatorプラグインが行うので、phpスクリプトによって自動的に作成されるファイルが含まれます間違ってはいない)。
それを行う方法はありますか?
注:私はLinuxとコマンドラインに関連することを非常に初心者ですが、すぐに追いつきます。
注2:umaskはすでに0002に設定されています
編集:
これを試しました:
sudo chown -R www-data:www-data /var/www/
次に、これを実行してsetuidおよびsetgidビットを設定します。
sudo chmod u+s /var/www/html
sudo chmod g+s /var/www/html
次にログオフし、Apacheを再起動し、ネットワークIP(静的ではなくローカルIP)を介してサーバーに接続されたMacを使用して新しいフォルダーを作成しようとしました。
走った
ls -l on /var/www/html
出力はまだです:
drwxr-sr-x 2 boris www-data testsite1
注意:
私はすでにapacheの設定とenvvarsをチェックしており、すでに次のように設定されています:
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
編集:boris:www-dataが所有するすべてを設定し、envvars apache configをboris:www-dataに設定するなど、逆方向に試しました。動いた!
これが私がしたことです:
envvarsを変更しました
export APACHE_RUN_USER=boris
export APACHE_RUN_GROUP=www-data
蘭
sudo chown -R boris:www-data /var/www/
Apachemを再起動し、新しいフォルダーを作成し、ファイルを追加し、プラグインを実行しました。