Apacheで正しく実行するには、/var/www
内のファイルの所有者がwww-data
である必要があることを知っています。しかし、chown -R www-data:www-data /var/www
コマンドを実行すると、エディターでphpファイルを実行できません。
権限を台無しにせずにファイルを編集するにはどうすればよいですか?
chown -hR www-data:www-data /var/www
適切な所有権。
chmod -R g+rw /var/www
これにより、グループはファイルの読み取りと書き込みを行うことができますが、他のアクセス許可は変更されません。
find /var/www -type d -ls -exec chmod g+x {} ';'
これにより、グループはディレクトリを一覧表示できますが、ファイルのビットxは変更されません。
usermod -aG www-data your-user
このグループの権限を使用できるように、グループwww-dataに自分を追加します。
ファイルの所有者は、Apache
が正常に機能するためにwww-data
である必要はありません。要件は、www-data
として実行されるApache
サーバーがファイルを読み取れる必要があることです。ほとんどのシステムはデフォルトでグループ読み取りアクセスを許可しているため、ファイルのグループはwww-data
で十分です。
Apache
サーバーは、Wiki、コンテンツアップロードディレクトリ、キャッシュなどの動的コンテンツを書き込める必要があります。それ以外の場合は、Apache
サーバーがコンテンツディレクトリとファイルを書き込まないようにする方が安全です。
コンテンツを変更する必要があるユーザーの所有権を変更することを検討してください。それらをグループwww-data
に追加します。/var/wwwディレクトリにグループスティッキービットを設定することもできます。ユーザーの場合は、これらのコマンドを実行できます。
Sudo chmod g+s /var/www
Sudo usermod -aG www-data $LOGNAME
Sudo chown -R $LOGNAME /var/www
ログアウトして再度ログインし、www-dataグループにアクセスします。その後、コンテンツを変更できるようになります。
chown -R www-data:www-data /var/www
chmod 766 /var/www -R
これにより、ユーザーに書き込み権限が付与されます。