Linuxユーザー権限の問題

Linuxユーザー権限の問題

"eclipse"で新しいファイルを作成するたびに読み取り/書き込み権限を取得するには、次の2行のコードを実行する必要があります。

chmod -R 775 /var/www/folder/filename.extension

そして/または

sudo chown -R www-data:www-data /var/www

そして、いくつかのファイルを適切なサーバーフォルダにコピーし、次のブラウザURLからアクセスした場合:

localhost/folder/filename.extension

Apacheサーバーで許可エラーが発生します。

この問題を取り除く方法はありませんか?

*ノート:move_uploaded_file()私の機能がファイルをディレクトリに移動しようとすると、/var/www/MyProject/主なエラーが発生します。

ベストアンサー1

SGID ビットを使用します。

一度だけ実行し、この問題を忘れてください。

chmod g+s /var/www/folder

すべてのサブフォルダに対して同じことができます。

find /var/www/folder -type d | xargs chmod g+s

そして、万が一の場合に備えて:

find /var/www/folder -type d | xargs chgrp www-data

/var/www/folder/今何があっても、その下に作成されたすべてのファイルは、含まれているフォルダを所有するグループに属します。これにより、ファイルやフォルダが属していないことを心配することなくファイルやフォルダを作成できます。www-データグループ、それはあなたが望むものです。

これは、ディレクトリ内に作成されたファイルまたはフォルダにのみ適用されます。ファイルが別の場所に作成され、ディレクトリツリーに移動された場合でも、所有権を手動で変更する必要があります。

例:

# Create folder that belongs to www-data group
$ mkdir test
$ chown john.www-data test
$ ls -l

drwxr-xr-x 2 john www-data 4096 Jun 17 10:14 test

# Create a file, check the ownership
$ touch test/file1
$ ls -l test/

-rw-r--r-- 1 john users       0 Jun 17 10:16 file1

# Set the SGID bit
$ chmod g+s test
$ ls -l

drwxr-sr-x 2 john www-data 4096 Jun 17 10:19 test

# Create a file, check the ownership
$ touch test/file2
$ ls -l test/

-rw-r--r-- 1 john users       0 Jun 17 10:18 file1
-rw-r--r-- 1 john www-data    0 Jun 17 10:19 file2

追加情報ここ

おすすめ記事