質問: 一般的な共有linuxwebホストの権限 私は典型的な共有linuxウェブホスティングアカウントのファイルパーミッションを理解しようとしています。ファイルまたはディレクトリのownergroupおよびpublicエンティティにrwxアクセス許可を設定する方法を知っています。私にはあまり明確ではありませんが、通常、アクセス許可はどこにマップされますか?私はそれを推測しています:[〜#〜] user [〜#〜]パーミッションは何に影響しますか...うーん...ここではわかりません [〜#〜] group [〜#〜]パーミッションは、phpまたはサーバーで実行されている他のスクリプトが実行できること)に影響します [〜#〜] other [〜#〜](publicまたはworldと呼ばれることもありますか?)権限は、webサイト訪問者のuaが実行できることに影響します誰かがこれについての私の理解を修正、確認、または拡大できますか?明確化:サーバー上で実行されるphpスクリプトにファイルへの書き込み権限を許可したい場合、その権限はuser、group、またはotherで指定されますか?webサイトの訪問者を拒否したい場合ブラウザでディレクトリの内容を確認する場合、その権限はディレクトリのuser、group、またはotherで指定されますか?
回答: あなたは共有ホスティングについて話しているので、私がよく一緒に仕事をしている共有ホスティング業者についての楽しい詳細をいくつか追加しましょう。私の経験から、このような設定は共有ホスティング環境では珍しいことではありません。共有ホスティング環境では、同じホストを共有しているユーザーが複数いることも珍しくありません。当然、それらはすべてユーザーアカウントを持っています。私のユーザーアカウントは123456-user1かもしれません。これで、プライマリグループがnobodyまたはnogroupに設定され、生成したすべての新しいファイルとフォルダーが123456-user1:nobodyに属します。彼らは、私が想定するセキュリティ上の懸念のために、ホスト上のすべてのユーザーを同じプライマリグループに投げ込むだけではありません。これで、ファイルを読み取ることができますが、グループはファイルを読み取ることができません(グループはnobodyであるため)、apacheはどのようにファイルを読み取るのでしょうか。 apacheは、独自のユーザーアカウントでインスタンスを実行して読み取ります。たとえば、phpの場合、アカウントでファイルを実行するために cgiモード で実行されます。したがって、権限の最初のオクテットは、システム全体に関連するものです。それはあなたとウェブサイトの訪問者(いわば)の両方がファイルに対して何ができるかを定義します。グループは無視できます。そして、他の人の最後のオクテットは、所有者の部分と幾分同等です。