Apacheドキュメントルートの正しい権限または所有権を設定するための助けが必要です。ここに私が必要なものがあります:
/var/www/html/<site>
に保存されているさまざまなウェブサイトこれどうやってするの?現在、すべてのファイルは誰でも書き込み可能ですが、これは良くありません。サーバーはCentOS 5.5を実行します
ありがとう
新しいグループを作成する
groupadd webadmin
ユーザーをグループに追加します
usermod -a -G webadmin user1
usermod -a -G webadmin user2
サイトディレクトリの所有権を変更する
chown root:webadmin /var/www/html/
サイトディレクトリの権限を変更する
chmod 2775 /var/www/html/ -R
これで、誰でもファイル(Apacheユーザーを含む)を読み取ることができますが、内容を変更できるのはrootとwebadminだけです。
私は-o aclでパーティションをマウントすることを好みます。これにより、setfaclコマンドを使用して、user-group-other権限のみを指定する代わりに、ファイルとフォルダーにきめ細かい権限を設定できます。
そのため、/ etc/fstabのパーティション行にaclを配置するか、mount -o remount、acl/mnt/xyを使用して再マウントし、Webディレクトリの所有権をnobody:nobodyに付与します。 Chmodを770に変更し、setfaclを使用して、必要なフォルダーのみに書き込み権限を付与します。 www-data(またはWebサーバーを実行しているユーザー)にアップロードフォルダーの書き込み権限を与え、自分のユーザーにディレクトリ全体の書き込み権限を与えます。
mkdir dir
chown nobody:nobody dir
setfacl -m u:www-data:r-x,d:u:www-data:r-x dir
setfacl -m u:www-data:rwx,d:u:www-data:rwx dir/upload
setfacl -m u:youruser:rwx,d:u:youruser:rwx dir
これで、Webサーバーと自分のユーザーを除いて、誰もファイルを読み取ることができなくなります。フォルダー内のすべてのファイルに書き込むことができ、ウェブサーバーはアップロードフォルダーにのみ書き込むことができます。