Apacheが共有環境でファイルに安全にアクセスできるように権限を設定する方法は?

Apacheが共有環境でファイルに安全にアクセスできるように権限を設定する方法は?

私たちの学校には、複数のユーザーと複数のグループを持つ共有サーバー環境があります。

関連グループ:

students

daemon (Apache実行中)

生徒に自分が所有するファイルへのフルアクセスを許可し、他の生徒のファイルにアクセスできないようにしたいと思います。 2人の異なる生徒がお互いのファイルを見ることはできません。

また、Apacheがすべての学生ファイルを読んで実行できることを願っています。特に、私はApacheが各生徒が所有するパスワードファイルを読むことを望み、パスワードファイルの所有者にそれに完全なアクセス権を持たせたいと思います。

私が知っているのは、最良の方法はパスワードファイルのグループ所有者をApacheに変更することです。

だからこの記事を読んだ後、

https://serverfault.com/questions/357108/what-are-the-best-linux-permissions-to-use-for-my-website

単純なchgrpで問題が解決するようです。

ところで、私はこのようなことを経験しました。

これを使用するには、ファイルの所有者であり、ターゲットグループ(またはルート)のメンバーである必要があります。

したがって、各生徒はデーモングループの一部ではなく、このコマンドを実行することはできません。他の学生のパスワードファイルも表示できるため、このグループを提供することは意味がありません。

以前のスレッドでは、現在のセキュリティ設定が不適切であることを理解し、明日システム管理者との会議をスケジュールしました。

しかし、システム管理者に何を求めるべきかはまだわかりません。

サーバー上のすべてのパスワードファイルの権限を手動で変更するように要求することはできません。ファイル名と場所が異なり、多くの学生がまだ設定していません。

生徒にchgrpへのフルアクセスを許可するのは危険なようです。

私が好むのは、生徒にファイルを要求し、生徒に代わってchgrpを実行してApacheグループの所有権を与える一種のスクリプトを生成するように要求することです。これは可能に見えますが、Linuxに初めて接する人なので、かなり複雑です。その人がそのようなことを簡単にすることができますか?

ACLも考慮しましたが、心が再びchgrpに戻り、生徒がsetaclにアクセスできるようにするのは危険に見えました。

ベストアンサー1

ACLが答えです。学生は実行するために特別な権限を必要とせず、setfaclユーザーは自分が所有するすべてのファイルのACLを設定できます。

ACL用にシステムを設定する必要がある場合は、次を参照してください。ディレクトリ内のすべての新しいファイルがグループからアクセスできるようにする

生徒にApacheがアクセスできるファイルが必要な場合は、次のことを実行する必要があると言います。

setfacl -m group:daemon:r ~/path/to/password.file
setfacl -m group:daemon:x ~ ~/path ~/path/to

xこれらのディレクトリ(サブディレクトリを含む)のファイルにアクセスするには、そのディレクトリに対する権限が必要です。

おすすめ記事