私と2人のユーザーと作業しています:私とwww-data。各ユーザーにはデフォルトで独自のグループがあります。パブリックにアクセス許可を与えることなく、両方のユーザーに読み取り、書き込み、実行の許可を簡単に付与できるようにしたいと考えています。
Linuxファイル許可システムについての私の理解は、次のファイルがある場合です。
test.php me:me 770
グループmeにユーザーmeとwww-dataが含まれている場合、両方のユーザーはファイルtest.phpに対する完全な権限を持ちます。ただし、これは機能しません。ユーザーwww-dataをグループmeに追加し、許可を770に設定しましたが、Apacheは許可が拒否されたと言います。ファイルグループをwww-dataに変更すると、次のようになります。
test.php me:www-data 770
ファイルは正常にロードされます。問題は、ユーザーmeの下でftpを介してファイルをアップロードすることです。グループの変更は簡単ですが、グループを変更するために新しいファイルをアップロードするたびにサーバーにSSHで接続する必要がある場合、非常に退屈になります。私の理解では、グループはこれらのような状況のためだけに存在するが、なぜそれが機能しないのか理解できない。
すべてのファイル/ディレクトリのグループをwww-dataに変更し、setgidを有効にします。
Sudo chmod -R g+s /path/to/www/directory/
すべてのファイルとディレクトリは、今後www-dataグループで作成されます。