NextCloudでは、/var/www/html
以下のフォルダはwww-data
ユーザーが所有権を持つことが推奨されています。
まずは、下記コマンドでwww-data
ユーザ/グループに所有権を変更できます。
sudo chown -R www-data:www-data nextcloud
次に、アクセス権を変更します。後にファイルの編集を簡単にするために、グループへ読み込みと書き込みのアクセス権を与えています。この辺りは要件に合わせて適宜変更してください。
sudo sh -c "find ./nextcloud -type d -print0 | xargs -0 chmod 770"
sudo sh -c "find ./nextcloud -type f -print0 | xargs -0 chmod 770"
ポイントと呼べるほどではないですが、ポイントは下記です。
sh -c
コマンドで、パイプ処理も管理者権限で実行するfind
コマンドは-print0
オプションで、null区切りへxargs -0
オプションを利用して、null区切りごとに処理
ローカルユーザーをwww-dataグループに入れる
www-dataユーザーに所有権を与えて、アクセス権を上記の設定にすると、ローカルユーザーでファイルを見る・編集することができなくなります。
ファイルの編集がめんどくさくなってしまうので、作業で利用するローカルユーザーをwww-dataグループに入れてしまいましょう
usermod -aG www-data $USER
おまけ
VisutalStudioCodeでRemoteSSHを利用して開発している場合、リモートサーバー上のキャッシュファイルを一度削除しないと、ユーザーのグループ追加が反映されません。
下記コマンドをリモートサーバー上で実行して、キャッシュファイルを削除しましょう。
sudo rm -rf ~/.vscode-server